您好,
我是一個java新手,我有這個代碼的問題。我想如果是在環什麼的問題..循環中的一些麻煩
public static void main(String[] args) {
try {
Scanner scn = new Scanner(System.in);
int z = 0;
String input;
int[] ABArray = new int[2];
while (z == 0) {
System.out.println("Input X to terminate.");
System.out.print("Input: ");
input = scn.nextLine().toLowerCase();
for (int i = 0; i < input.length(); i++) {
char AB = input.charAt(i);
ABArray[AB - 'a']++;
}
if (ABArray[0] == 0 || ABArray[1] == 0) {
System.out.println("Not Equal");
System.out.println("");
} else if (ABArray[0] == ABArray[1]) {
System.out.println("Equal");
System.out.println("");
} else if (ABArray[0] != ABArray[1]) {
System.out.println("Not Equal");
if (ABArray[0] > ABArray[1]) {
System.out.println("The number of A is greater than B.");
} else if (ABArray[0] < ABArray[1]) {
System.out.println("The number of B is greater than A.");
}
System.out.println("");
}
}
} catch (ArrayIndexOutOfBoundsException X) { } //Terminates the program
}
問題是這樣的
I/O
Input:
ABABAB
Output:
Equal
Input:
AABBB
Output:
Not Equal
The number of B is greater than A.
Input:
AABB //It is equal.
Output:
Not Equal //It says not.
The number of B is greater than A.
正如你看到的,問題是當我在第一個輸入時等於A和B,它說相等,當我輸入不等於A和B時,但在第三個輸入等於A和B時它說不等於。
問題已解決。 感謝您的幫助。
什麼是你的程序的目的是什麼? – ADTC
@ADTC檢查A和B的數量是否相等。 – user3122474
你如何做到這一點? (算法)*請用這個信息擴大你的問題* – ADTC