这是我的家庭作业:
Random r = new Random(); public int get100RandomNumber() { return 1 + r.nextInt(100); }
您将获得一个名为 getrand100()(上图)的预定义函数,该函数返回一个整数,该整数是 1-100 之间的一个随机数。您可以根据需要多次调用此函数,但请注意此函数非常耗费资源。您不能使用任何其他随机生成器。您不能更改 的定义
getrand100()
。输出:以随机顺序打印数字 1-20。(不是 20 个随机数)
我试过的..
public class MyClass {
static Random r = new Random();
static HashSet<Integer>;
public static void main(String args[]) {
myMethod();
System.out.println(s);
}
public static void myMethod() {
boolean b = false;
s = new HashSet<Integer>();
int i = getRand100();
if (i >= 20)
i = i % 20;
int j = 0;
int k, l;
while (s.size() <= 20)
{
System.out.println("occurence no" + ++j);
System.out.println("occurence value" + i);
b = s.add(i);
while (!b) {
k = ++i;
if(k<=20)
b = s.add(k);
if(b==true)
break;
if (!b) {
l = --i;
if(i>=1&&i<=20)
b = s.add(l);
if(b==true)
break;
}
}
}
System.out.println(s);
}
public static int getRand100()
{
return r.nextInt(100) + 1;
}
}
谢谢你的帮助!