我正在运行以下代码来获取随机(x,y)坐标对。但是,我一遍又一遍地得到同一对。
int counter=0;
while(counter<20){
x3=(int)Math.random()*831+50;
y3=(int)Math.random()*381+50;
canvas.setColor(Color.white);
canvas.drawString("*", x3, y3);
counter++;
}
我是Java的新手,所以请告诉我一个简单的方法来解决这个问题。谢谢!
答案 0 :(得分:3)
Math.random()
返回介于0.0和1.0之间的值。 Java从左到右进行评估,导致(int)Math.random()
首先将值截断为0
,因此x3
和y3
被评估为
x3 = 0 + 50;
y3 = 0 + 50;
在括号中围绕作业的第一个术语
int x3 = (int) (Math.random() * 831) + 50;
int y3 = (int) (Math.random() * 381) + 50;