當我打印字符串數組的內容時,輸出也打印爲'null'。我不確定這有什麼問題。這裏是輸出,我期望的是沒有'null'的輸出打印字符串數組也打印空
null(wa?>=0)nullnull*(wo?>=0)nullnull*(4*wa?+7*wo?>=50)nullnull*(d1=10)nullnull*((d2=1)+(k=2))nullnull
感謝和感謝您的幫助。我會說我在初學者級別的Java技能,並且我在兩週前回來了。
下面是實際的代碼:
String[] arrStr = new String[50];
int countStr = 0;
for (int i = 0; i < para.length; i++) {
if (para[i] == '(') {
count = count + 1;
}
if (para[i] == ')') {
count = count - 1;
}
if (count > 0) {
arrStr[countStr] = arrStr[countStr] + para[i];
} else {
if (para[i] == ')') {
arrStr[countStr] = arrStr[countStr] + para[i];
countStr += 1;
} else {
countStr += 1;
arrStr[countStr] = arrStr[countStr] + para[i];
// System.out.println(para[i]);
}
}
}
System.out.println(countStr);
for (int i = 0; i < countStr; i++) {
System.out.print(arrStr[i]);
}
這部分之前,我讀從Word文檔以下字符串:
(wa?>=0)AND(wo?>=0)AND(4*wa?+7*wo?>=50)AND(d1=10)AND((d2=1)+(k=2))
我認爲這個問題可能是由於線路:
arrStr[countStr] = arrStr[countStr] + para[i];
arrStr[countStr]
由於是最初爲null和我一個元素添加到它,它將其保存爲null+para[i]
。你認爲這是可能的嗎?
就像當我嘗試:System.out.println(arrStr[0]);
我得到的輸出
null(wa?>=0)
如果您需要幫助調試代碼,實際的代碼會有所幫助。 –
您能否顯示導致錯誤的代碼? – SteWoo
在陣列上完成每個分配操作後,打印出您已分配的值。它會讓您更清楚地知道值的設置爲空。如果您可以提供整個代碼,那麼指出問題出在哪裏會更容易。 – Adarsh