[英]How to generate random numbers up to 100 in an array size of 10
我必須創建一個10的數組大小並生成從0到100的隨機數,包括0和不包括100.當我編寫代碼時,它一直給我一個錯誤:
線程“main”中的異常java.lang.ArrayIndexOutOfBoundsException:59位於BillyLancasterHw6.main的BillyLancasterHw6.printArray(BillyLancasterHw6.java:23)(BillyLancasterHw6.java:13)
這是我正在使用的代碼。
public class BillyLancasterHw6 {
public static void main(String[] args){
//int N = 10;
double[] list = new double[10];
for(int i = 0; i < list.length; i++) {
double randomNumber = (Math.random() * 100);
list[i] = randomNumber;
}
printArray(list);
//sort(list);
//System.out.println();
//printArray(list);
}
public static void printArray(double[] list) {
for(double u: list) {
System.out.printf("%2.2f%s", list[(int) u], " ");
}
}
}
我不明白為什么我不能在大小為10的數組中生成高達100的隨機數。這意味着在0到100之間隨機生成10個數字。
任何建議都會很棒。 如果您可以參考文檔中的哪個位置,我也可以找到答案。 我是編程新手,我遇到了麻煩。
你的增強型for
循環已經完成了從列表中提取隨機數的工作; 只是打印它。 沒有必要回到列表中。
System.out.printf("%2.2f%s", u, " ");
我的java有點生疏,但是:
for(double u: list) {
System.out.printf("%2.2f%s", list[(int) u], " ");
}
看起來很可疑。 那這個呢:
for(double u: list) {
System.out.printf("%2.2f%s", u, " ");
}
也許我沒有得到你的問題,但看看下面的代碼是否有效。 我不明白為什么你使用雙
public class BillyLancasterHw6 {
public static void main(String[] args)
{
int[] randomNumber = new int[10];
for(int i = 0; i < randomNumber.length; i++)
{
randomNumber[i] = (int)(Math.random() * 100);
System.out.print(randomNumber[i]+" , ");
}
System.out.println();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.