我必须为ArrayList中的52000个实例生成两个随机数,攻击1和攻击2,其中攻击1必须大于攻击2,所以我必须将它们放在列表中。这是我的示例代码:
do {
atk_p1 = (int) (Math.random() * (5000-500+1)+500);
atk_p2 = (int) (Math.random() * (5000-500+1)+500);
} while(atk_p1 <= atk_p2);
data.add(String.valueOf(atk_p1));
data.add(String.valueOf(atk_p2));
我的问题是上述代码有时会起作用(因此atk_p1
大于atk_p2
)但其他时间则不然(因此atk_p2
大于atk_p1
)。我正在努力解决这个问题。谢谢你的帮助。
上面的代码是Java。
答案 0 :(得分:2)
另一种方法是生成 package com.selendroid.demo;
import org.openqa.selenium.WebDriver;
import io.selendroid.SelendroidDriver;
import io.selendroid.common.SelendroidCapabilities;
import io.selendroid.common.device.DeviceTargetPlatform;
import io.selendroid.standalone.SelendroidConfiguration;
import io.selendroid.standalone.SelendroidLauncher;
public class Sele {
private WebDriver driver;
public void setUp() throws Exception {
System.out.println("------------------------Started");
SelendroidConfiguration config = new SelendroidConfiguration();
// Add the selendroid-test-app to the standalone server
config.addSupportedApp("Demo.apk");
// start the standalone server
SelendroidLauncher selendroidServer = new SelendroidLauncher(config);
selendroidServer.launchSelendroid();
// Create the selendroid capabilities
SelendroidCapabilities capa = new SelendroidCapabilities(
"io.selendroid.androiddriver:0.16.0");
capa.setAut("com.example.demo:1.0");
capa.setPlatformVersion(DeviceTargetPlatform.ANDROID15);
// capa.setEmulator(false);
// capa.setCapability(SelendroidCapabilities.EMULATOR, true);
// capa.setSerial("emulator-5554");
SelendroidDriver driver = new SelendroidDriver(capa);
capa.wait(100);
driver = new SelendroidDriver(capa);
}
}
和a
,然后进行简单的比较检查,看看b
是否小于b
。
如果不是,您只需交换a
和a
。
答案 1 :(得分:0)
如果您要生成两个随机数,@IBDesignable
和UIView
,那么UIBarButtonItem
,那么
UIView
。a
为b
加上大于零的随机数。答案 2 :(得分:0)
我只会生成第二个随机数,第一个是它的上限:
atk_p1 = (int) (Math.random() * (5000-500+1)+501);
atk_p2 = (int) (Math.random() * (atk_p1)+500);
data.add(String.valueOf(atk_p1));
data.add(String.valueOf(atk_p2));
答案 3 :(得分:0)
我这样解决了:
int atk_p1 = 0;
int atk_p2 = 0;
data.add(String.valueOf(atk_p1));
data.add(String.valueOf(atk_p2));
do{
atk_p1 = (int) (Math.random() * (5000-500+1)+500);
atk_p2 = (int) (Math.random() * (5000-500+1)+500);
}while(atk_p1 == atk_p2);
if(atk_p1 > atk_p2){
data.set(34, String.valueOf(atk_p1));
data.set(36, String.valueOf(atk_p2));
}else{
data.set(34, String.valueOf(atk_p2));
data.set(36, String.valueOf(atk_p1));
}
问题是arraylist.add()操作,它对指令的顺序顺序并不严格。使用索引来指定信息的工作位置。