配列のサイズより小さい重複した数字/数字と配列のサイズより大きな数字の配列をチェックする簡単なコードを作ろうとしました。 (たとえば、サイズが7の配列の場合、配列内の数値は重複しないで1から7の間でなければなりません。システムで無効なエラーが出力されない場合) 1のサイズで配列を入力し、ここで、1 sumn.mainで (sumn.java:24)配列の重複入力が無効です
:スレッド "メイン" java.lang.ArrayIndexOutOfBoundsExceptionで
例外:私は次のエラーメッセージを取得し、例えば数2コード自体、これを修正する方法の任意の考えですか?
public class sumn { public static boolean Duplicates(int arr[]) { int a, b; boolean flag = true; for (a=0;a<arr.length-1;a++) { for (b=a+1;b<arr.length;b++) { if (arr[b]==arr[a]) { return false; } } } return flag; } public static void main(String[] args) { int N = MyConsole.readInt("Enter the size of the array:"); int arr[] = new int [N]; int i, j; boolean flag = true; for (i=0;i<arr.length;i++) { arr[i]= MyConsole.readInt("Enter a number between 1 to "); } for (j=0;j<arr.length;j++) { if (Duplicates(arr)==false || N<arr[i] || arr[i]<=0) flag = false; if (flag == false) { System.out.println("Invalid input"); } } } }
24' 。それをしないでください。 – Kayaman
私はあなたがこれらの "自由な"命名にあまりにも慣れる前にいくつかのJavaスタイルガイドを見ることをお勧めします。 – kalsowerus