⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testauto.java

📁 构建网上购书最优联盟 此篇文章重在构建囊括最多变量因素的网上购书联盟。计算最优则变成了不断测试不断更改变量的统计型问题。而联盟要求的最低构建要素是: &#61548 联盟中心到站点的运输费
💻 JAVA
字号:
package tomato;


public class TestAuto extends TestAlliance {
 
 protected static int incrementNumber;

  
  public static void SetRandomPurchasers(Book book,int maxper,int count,Purchaser[] pArr){  
    
     //每次自动产生1~50内的任意个数的购买者,他们的位置信息和需求也是随机生成的 
     //System.out.print("5.Please input how many purchaser your want to input:  ");
     incrementNumber = (int)(Math.random()*50);
       	
     for (int i = 0; i < incrementNumber; i++){
       
        int req = (int)(Math.random()*maxper+1);
        int lon = (int)(Math.random()*MapBound.GetBound());
        int lat = (int)(Math.random()*MapBound.GetBound());
        System.out.print(req+"   ");
        System.out.print("("+lon+",");
        System.out.print(lat+")");
        System.out.println();
         
        pArr[count+i] = new SinglePerson(new Location(lon,lat),book,req);	

     }
      
  }
  
   public static void RandomTest(Bookstore bookstore,Book book,int maxper,double perKmFreight){ 
  
       Purchaser[] pArr = new Purchaser[1000];
       Location Alliancelocation = new Location(0,0);
       Alliance cTest = new Alliance(Alliancelocation,book,0);
       
       
       int count = 0;
       boolean isContinue = true;
       
       while (isContinue){
       	  
          SetRandomPurchasers(book,maxper,count,pArr); 
      
          for (int i = 0; i < incrementNumber; i++){
           
              cTest.Add(pArr[count+i]); 
     
          }
    
          cTest.EstablishAlliance(bookstore,perKmFreight);
          System.out.println();
          if ( cTest.IsAllianceReasonable(bookstore,perKmFreight) ){
    	
    	      count += incrementNumber;
              System.out.println();
              System.out.println("The Alliance is reasonable!");
              cTest.Display(bookstore); 
    
          }
          else {
    	
              System.out.println("The Alliance is NOT reasonable!"); 
       
              for (int i = 0; i < incrementNumber; i++){
           
               cTest.Remove(pArr[count+i]); 
     
              }
           
              System.out.println("The join is failed!");

          }
                                             
          System.out.println();
       
      }
  }

  public static void Test(){ 
     
    Alliance.SetMapBound();	
    Alliance.SetBookstore();
    RandomTest(Alliance.d_bookstore,Alliance.d_bookstore.SelectBook(Alliance.SettargetBook()),Alliance.Setmaxper(),Bookstore.SetperKmFreight());
     
  }
  
  public static void main(String[]args){
    
    Test();

  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -