我正在开发一个分数计算器,String.split()
用于拆分术语。输入由空格分隔(1/2 / 1/2)
String[] toReturn = new String[6];
result = isInputValid(expression);
toReturn = splitExpression(expression, placeToSplit[0]);
int indexOfUnderscore = toReturn[0].indexOf("_");
result = isInputValid(toReturn[0]);
if(toReturn[5] != null){
getOperator2(toReturn);
}
错误在 if 语句中。toReturn[5]
超出范围,因为当回答两个或更少的术语时,拆分表达式(用于String.split()
在空格处拆分它)不会创建toReturn[5]
,即使我将值设置为toReturn[5]
。如果有办法判断数组中的字段是否存在,那可以解决它,或者是否有办法判断放入了多少项。我的程序适用于1/2 + 1/2 * 1/2
,但我还没有弄清楚如何告诉是否toReturn[5]
存在。