1
public class ParallelArray {
public static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
char[] charArray = new char[5];
int[] intArray = new int[5];
char ch;
int count;
System.out.println("Enter 5 characters: ");
for (int i = 0; i < charArray.length; i++) {
charArray[i] = sc.next().charAt(0);
}
do {
System.out.println("Enter a character: ");
ch = sc.next().charAt(0);
int location = search(ch, charArray);
intArray[location]++;
System.out.println("Again? 1-yes, 0-no");
count = sc.nextInt();
} while (count == 1);
printBothLists(charArray, intArray);
}
public static void printBothLists(char[] charArray, int[] intArray) {
for (int i = 0; i < charArray.length; i++) {
System.out.println(charArray[i] + " - " + intArray[i]);
}
}
public static int search(char ch, char[] charArray) {
int count = -1;
for (int i = 0; i < charArray.length; i++) {
if (ch == charArray[i]) {
count = i;
return count;
}
}
return count;
}
}
如果我輸入5個字符,a,b,我輸入a,b,c,d,y。它將退出程序並給出錯誤:- Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1
。線程「main」中的異常java.lang.ArrayIndexOutOfBoundsException:-1
'charArray [i] = sc.next()。charAt(0);'關注我。每次調用'sc.next()'都會使掃描器超越您輸入的任何文本行。也許你需要一個更好的方式來分割String嗎? (提示,提示) – Makoto