JAVA 在一些数中随机取有三个数1,2,3A和B各在其中随机取一个,可以取重复这可以Random r = new Random();int A = r.nextInt(3);但是C不能取A或者B取过的所以C的可能选择就是1个数或两个数我想用程序在这
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/29 00:29:27
![JAVA 在一些数中随机取有三个数1,2,3A和B各在其中随机取一个,可以取重复这可以Random r = new Random();int A = r.nextInt(3);但是C不能取A或者B取过的所以C的可能选择就是1个数或两个数我想用程序在这](/uploads/image/z/15057958-22-8.jpg?t=JAVA+%E5%9C%A8%E4%B8%80%E4%BA%9B%E6%95%B0%E4%B8%AD%E9%9A%8F%E6%9C%BA%E5%8F%96%E6%9C%89%E4%B8%89%E4%B8%AA%E6%95%B01%2C2%2C3A%E5%92%8CB%E5%90%84%E5%9C%A8%E5%85%B6%E4%B8%AD%E9%9A%8F%E6%9C%BA%E5%8F%96%E4%B8%80%E4%B8%AA%2C%E5%8F%AF%E4%BB%A5%E5%8F%96%E9%87%8D%E5%A4%8D%E8%BF%99%E5%8F%AF%E4%BB%A5Random+r+%3D+new+Random%28%29%3Bint+A+%3D+r.nextInt%283%29%3B%E4%BD%86%E6%98%AFC%E4%B8%8D%E8%83%BD%E5%8F%96A%E6%88%96%E8%80%85B%E5%8F%96%E8%BF%87%E7%9A%84%E6%89%80%E4%BB%A5C%E7%9A%84%E5%8F%AF%E8%83%BD%E9%80%89%E6%8B%A9%E5%B0%B1%E6%98%AF1%E4%B8%AA%E6%95%B0%E6%88%96%E4%B8%A4%E4%B8%AA%E6%95%B0%E6%88%91%E6%83%B3%E7%94%A8%E7%A8%8B%E5%BA%8F%E5%9C%A8%E8%BF%99)
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()));