JAVA 在一些数中随机取有三个数1,2,3A和B各在其中随机取一个,可以取重复这可以Random r = new Random();int A = r.nextInt(3);但是C不能取A或者B取过的所以C的可能选择就是1个数或两个数我想用程序在这
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/20 05:21:49
JAVA 在一些数中随机取有三个数1,2,3A和B各在其中随机取一个,可以取重复这可以Random r = new Random();int A = r.nextInt(3);但是C不能取A或者B取过的所以C的可能选择就是1个数或两个数我想用程序在这
JAVA 在一些数中随机取
有三个数1,2,3
A和B各在其中随机取一个,可以取重复
这可以Random r = new Random();
int A = r.nextInt(3);
但是C不能取A或者B取过的
所以C的可能选择就是1个数或两个数
我想用程序在这三个数中排除A和B的选择,再让C在剩下的数中随机选取,这段程序该如何写呢?
JAVA 在一些数中随机取有三个数1,2,3A和B各在其中随机取一个,可以取重复这可以Random r = new Random();int A = r.nextInt(3);但是C不能取A或者B取过的所以C的可能选择就是1个数或两个数我想用程序在这
楼主程序有个错误
因为nextInt(n)返回的是0~n-1之中的整数,所以如果想返回1,2,3之中的随机数应该这样调用:
int A = r.nextInt(3)+1;
所以答案是
int C = r.nextInt(3)+1;
while(C == A || C == B) {
C = r.nextInt(3)+1;
}
一般加上这个循环就好了.
也可以向楼主所说的,从剩下的数中选:
Random r = new Random();
int A = r.nextInt(3)+1;
int B = r.nextInt(3)+1;
ArrayList l= new ArrayList();
l.add(1);
l.add(2);
l.add(3);
l.remove(new Integer(A));
l.remove(new Integer(B));
int C = l.get(r.nextInt(l.size()));