我必须创建一个带有参数的随机数分布,该参数计算小于或等于 50 以及大于 50 但小于或等于 100 的整数的数量。我是 Java 新手,不知道我在做什么,并且我的“导师”对于解释实际发生的事情没有什么帮助。 “我是机械师,电脑砸了!” 编码对我来说毫无意义,请帮忙!
以下是我到目前为止所得到的,我不断收到以下错误:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
at Test.main(Test.java:12)
我的代码:
public class Test {
public static void main(String[] args) {
int count = Integer.parseInt(args[0]);
int[] array = new int[count];
int low = 0;
int high = 0;
for (int i = 0; i < count; i++) {
array[i] = Integer.parseInt(args[i + 1]);
if (array[i] >= 1 && array[i] <= 50) {
low++;
System.out.println(low);
}
else if (array[i] > 50 && array[i] <= 100) {
high++;
System.out.println(high);
}
}
System.out.println();
}
}
我试图让它打印出 10 个随机数,并让它告诉我有多少个小于或等于 50,有多少个大于 50 但小于 100
要生成随机数,请使用 Random 类。生成随机数 整数,您可以使用方法
Random.nextInt(origin,bound);
其中
原点是可能的最小数,边界是
上限独占。例如,生成一个随机数
1 到 10 之间,调用方法 random.nextInt(1, 11);
使用for循环生成10个随机数;
使用数组来存储生成的数字
使用 Arrays.toString(array) 打印数组
示例代码:
import java.util.Arrays;
import java.util.Random;
public class Example {
public static void main(String[] args) {
Random random = new Random();
int lowerBound = 0;
int upperBound = 101;
int randomNumbersSize = 10;
int[] randomNumbers = new int[randomNumbersSize];
int under50Count = 0;
int over50Count = 0;
for (int i = 0; i < randomNumbersSize; i++) {
randomNumbers[i] = random.nextInt(lowerBound, upperBound);
if (randomNumbers[i] <= 50) {
under50Count++;
}
else {
over50Count++;
}
}
System.out.println("Generated random numbers: " + Arrays.toString(randomNumbers));
System.out.println("Random numbers under 50: " + under50Count);
System.out.println("Random numbers over 50: " + over50Count);
}
}