0

我正在尝试设置一个程序,提示用户输入仅包含加法的数学方程式并将其放在括号中。我的代码旨在搜索这些方程并返回方程的总和。

我遇到问题的部分是当我尝试从代码中拆分加法符号并对其进行解析以便将其转换为 int 时。但是当我尝试拆分时,我收到一条错误消息cannot convert String[] to String

这是我到目前为止的编码:

String userinput = in.nextLine();
int parentheses;
int parenthesesclose, parse;
String usersubstring;
String split;

while (parentheses >= 0) {
    parentheses = userinput.indexOf("(");
    parenthesesclose = userinput.indexOf(")");
    usersubstring = userinput.substring(parentheses + 1, parenthesesclose);
    split = usersubstring.split(+);
    split.trim();
    if (split.isdigit) {
        parse = Interger.parseInt(split);
    }
}
4

3 回答 3

2

您应该将变量 split 声明为 String[]。split() 将返回一个字符串数组。

String userinput=in.nextLine();
int parentheses;
int parenthesesclose, parse;
String usersubstring;
String[] split;


while ( parentheses >= 0){
  parentheses = userinput.indexOf("(");
  parenthesesclose = userinput.indexOf(")");
  usersubstring = userinput.substring( parentheses + 1, parenthesesclose);
  split = usersubstring.split("+");
}
于 2013-09-25T02:02:47.973 回答
2

正如错误消息告诉您的那样,String#split()返回 aString[],它是一个字符串数组。将您的声明更改为:

String[] split;
于 2013-09-25T02:03:01.520 回答
0

方法 split 返回一个字符串数组,因此您应该将拆分变量的类型更改为数组。

此外,乘法符号不在括号中。

这个变量声明是本地的吗?如果是,则应定义它们,否则堆中可能存在错误。

于 2013-09-25T02:06:58.600 回答