【发布时间】:2014-04-13 14:31:06
【问题描述】:
我想知道如何使用随机数打印数组中设定值之间的所有数字。它还应该说明有多少用户随机数高于设定值。以下是它的外观示例:
"How many random numbers between 0 – 999 do you want? 12
These are your numbers
998 168 859 32 533 390 339 243 328 164 536 375
these 8 numbers is between 0 – 499
168 32 390 339 243 328 164 375
these 4 numbers is between 500 – 999
998 859 533 536"
这是我到目前为止的代码,我已经设法让它打印出最大的数字。
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.print(" How many random numbers between 0 – 999 do you want? ");
int varde = in.nextInt();
System.out.println(" ");
System.out.println(" this is your numbers:");
int randomArray[]=new int[varde];
for(int i = 0; i<varde; i++)
{
randomArray [i] = (int) (Math.random () * 999);
System.out.println(randomArray[i]);
}
int largest = randomArray[0];
for(int x=0; x<randomArray.length; x++){
if(randomArray[x]>largest){
largest = randomArray[x];
}
}
System.out.print("Largest no is: "+largest);
}
【问题讨论】:
-
到目前为止你尝试过什么?显示其他不相关任务的现有代码并不是“你迄今为止尝试过的”。
-
次要注意:
Math.random()返回的值介于0(包括)和1(不包括)之间,所以(int) (Math.random () * 999);不会在0-999之间而是0之间的随机数-998(只有当Math.random()会返回1时,你才可以随机选择999,这是不可能的)。尝试乘以 1000。您也可以尝试使用Random类。它有很好的方法nextInt(max),它将在0(包括)和max(不包括)之间随机,所以nextInt(1000)对你来说很好。 -
@Andrei No it doesn't.
-
到目前为止我尝试过的是我显示的代码,我认为我可以使用我设法从“最大数字”一书中找到的内容并以某种方式使用它,所以它会显示某个点以上的最大数字。感谢您对 Math.random 的指点!