【发布时间】:2017-02-25 10:28:46
【问题描述】:
我想知道如何在循环中生成随机数。我知道我应该使用java.util.random,但我想知道我应该怎么做,因为我需要生成程序需要的尽可能多的项目随机数,因为它的排序算法。
例如,首先,您需要选择您使用的方法(例如1),然后输入数字,然后您需要输入计数项目(例如5),然后,您需要输入项目(因此,如果您有 5 个项目,则需要输入 5 个不同的项目,然后进行排序。
我需要生成这些数字,因为如果我需要例如 10000 个计数,我不想手动输入 10k 个数字,因此最好自动输入。
希望你能帮助我!对不起,如果我错了或任何事情,这是我在这里的第一篇文章。 :)
附言我在此处添加了部分代码,以便您可以看到我的循环。
public static void main(String[] args) { //3.part - array output
int numurs;
int metode;
System.out.println("Name Surname RDBF0 student no");
System.out.print("method: ");
Scanner sc = new Scanner(System.in);
if (sc.hasNextInt()){
numurs = sc.nextInt();
}
else
{
System.out.println("input-output error");
sc.close();
return;
}
if (numurs != 1 && numurs != 2) {
System.out.println("input-output error");
sc.close();
return;
}
System.out.print("count: ");
if (sc.hasNextInt())
metode = sc.nextInt();
else {
System.out.println("input-output error");
sc.close();
return;
}
int a[] = new int[metode];
System.out.println("items: ");
for (int i = 0; i < a.length; i++) {
if (sc.hasNextInt())
a[i] = sc.nextInt();
else {
System.out.println("input-output error");
sc.close();
return;
}
}
sc.close();
switch (numurs) {
case 1: firstMethod(a);
break;
case 2: secondMethod(a);
break;
default:
System.out.println("input-output error");
return;
}
System.out.println("sorted: ");
for (int i = 0; i < a.length; i++)
System.out.print(a[i] + " ");
}
}
【问题讨论】:
-
一个...循环怎么样?
-
@Jyr 我不想替换用户需要输入这些项目编号的行,因此
util.random可以自动填写所有需要的数字。这是发生计数的循环:System.out.print("count: "); if (sc.hasNextInt()) metode = sc.nextInt(); else { System.out.println("input-output error"); sc.close(); return; } int a[] = new int[metode];