如何跟踪randomNumber
的值,然后将其用于其他位置。在下面的代码中,每次单击鼠标时,我都会得到0到10之间的随机数。
如果我单击3次并获得值1,6和7,我如何跟踪这3个值并在其他地方使用它们。我想将它们存储在变量中,例如int firstClick=?;
,int secondClick=?;
和int thirdClick=?;
我该怎么做。
void mousePressed(){
int randomNumber= int(random(11));
System.out.println(randomNumber);
}
答案 0 :(得分:3)
在班级的某个地方使用ArrayList
:
public class MyClass {
private ArrayList<Integer> randomNumbers = new ArrayList<>();
public void mousePressed() {
int randomNumber= int(random(11));
randomNumbers.add(randomNumber);
System.out.println(randomNumber);
}
public void listNumbers() {
for (Integer number : randomNumbers) {
System.out.println(number);
}
}
}
这样,您可以跟踪任意数量的鼠标点击次数及其生成的数字。您不必将每个单独的号码分配给特定的int
变量。
答案 1 :(得分:2)
第1步:创建一个整数的arraylist
第2步:生成随机数
第3步:在arraylist中随机存储
步骤4:在生成新的随机数
之后比较这个arraylist步骤5:如果arraylist中不存在新的随机数,请使用它,将此no存储在arraylist中
步骤6:如果arraylist中存在随机no,则生成另一个随机no
//global variable
List<Integer> randomNumberArray = new ArrayList<Integer>();
然后
void mousePressed()
{
for (int i = 0; i < 5; i++)
{
int temp = generateRandomNumber();
if (!randomNumberArray.contains(temp))
{
randomNumberArray.add(temp);
}
}
System.out.println(randomNumberArray);
}
public int generateRandomNumber()
{
Random randomNumber = new Random();
return randomNumber.nextInt(20);
}
或者您可以简单地使用Set
void mousePressed()
{
Set<Integer> mySet = new HashSet<Integer>();
for(int i=0;i<5;i++)
{
int temp = generateRandomNumber();
//System.out.println(temp);
mySet.add(temp);
}
System.out.println(mySet);
}
答案 2 :(得分:0)
final List<Integer> randomNumbers= new ArrayList<Integer>();
for (int i=0;i<3;i++){
randomNumbers.add(random(11));
}
// get first one
int i = randomNumbers.get(0);
答案 3 :(得分:0)
这将需要一个范围超出您正在处理的方法的变量。一些选项是:
// Have the random number be the return value of the method:
public int mousePressed() { return int(random(11)); }
// Have the random number be assigned to a class scoped variable:
static int someN;
public void mousePressed() { someN = int(random(11)); }
显然,这需要扩展为分配/返回三个(或多个)值。对象ArrayList<Integer>
可以派上用场。