這是一個存儲10個唯一字符串的程序。如果用戶輸入數組中已經存在的字符串,用戶將會收到錯誤。我的代碼對於我輸入的第一個字符串非常適用,但在此之後拋出異常,我不知道爲什麼。我如何解決這個問題並使其工作?Java - 在for循環中使用「continue」時未處理的異常錯誤?
P.S.我不想使用Set。我想用數組來完成它。
編輯:錯誤名稱:異常線程 「main」 顯示java.lang.NullPointerException Java結果:1個
感謝。
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
int stringNumber = 0;
String[] stringArray = new String[10];
for (int i = 0; i <= stringArray.length; i++) {
boolean itemExists = false;
out.println("\nEnter a string");
String input = keyboard.next();
if (i > 0) {
for (int j = 0; j < stringArray.length; j++) {
if (stringArray[j].equalsIgnoreCase(input)) {
itemExists = true;
out.println("Item \"" + input + "\" already exists.");
break;
} else {
continue; // Unhandled exception error. If I don't have "continue" here, the program doesn't work properly after the first number.
}
}
}
if (itemExists == false) {
stringArray[stringNumber] = input;
out.println("\"" + stringArray[stringNumber] + "\"" + " has been stored.");
} else {
out.println("Try again.");
}
PrintArray(stringArray);
stringNumber++;
}
}
public static void PrintArray(String[] stringArray) {
for (int i = 0; i <= 9; i++) {
if (stringArray[i] == null) {
out.print(" ");
} else {
out.print("\nYour strings:");
out.print(" " +stringArray[i] + " ");
}
}
}
它是一個異常或編譯器錯誤?在這兩種情況下,請發佈堆棧跟蹤或完成錯誤消息。 –
在原帖子中添加錯誤消息 – Gregg1989
您因爲邏輯複雜而迷路,試圖將其拆分爲不同的方法。 –