当我打印字符串数组的内容时,输出也打印为'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