文字列配列の内容を印刷すると、出力も「null」と印刷されます。これの何が問題なのかわかりません。これが出力です。私が期待するのは、「null」のない出力です
null(wa?>=0)nullnull*(wo?>=0)nullnull*(4*wa?+7*wo?>=50)nullnull*(d1=10)nullnull*((d2=1)+(k=2))nullnull
ご協力に感謝いたします。Java のスキルは初心者レベルで、2 週間前に始めました。
実際のコードは次のとおりです。
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];
は最初は null で、要素を追加するのでarrStr[countStr]
、それを として保存しnull+para[i]
ます。それは可能だと思いますか?
私が試したときのように:System.out.println(arrStr[0]);
私は出力を次のように取得します
null(wa?>=0)