発生している問題・エラーメッセージ
配列外参照が起きていますが原因がわかりません。
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 20 at sort.main(sort.java:22)
該当のソースコード
Java
1class sort{ 2 public static void main(String[] args) throws IOException{ 3 int i, j; 4 double tmp; 5 double num[] = new double[20]; 6 7 i = 0; 8 while(i < 20){ 9 num[i] = (int)(Math.random() * 100.0) / 100.0; 10 System.out.print(num[i] + " "); 11 i++; 12 } 13 14 i = 1; 15 while(i < 20){ 16 tmp = num[i]; 17 j = i; 18 while(num[j - 1] > tmp && j >= 1){ 19 num[j] = num[j - 1]; 20 j--; 21 } 22 num[j] = tmp; 23 i++; 24 } 25 26 i = 0; 27 while(i < 20){ 28 System.out.print(num[i] + " "); 29 i++; 30 } 31 } 32}
自分で代入して確かめましたが添え字が-1になる理由が分かりません。
ご教授していただけると幸いです。
OpenJDKを用いてコンパイルしています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/10 07:42
2021/05/10 07:44
2021/05/10 07:48