Java:分裂;无法将string []转换为字符串

时间:2013-09-25 01:58:58

标签: java string parsing split

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

我遇到问题的部分是当我尝试从代码中拆分添加符号时,解析它以便我可以将其转换为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);
    }
}

3 个答案:

答案 0 :(得分: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("+");
}

答案 1 :(得分:2)

正如错误消息所示,String#split() returns a String[],这是一个字符串数组。将您的声明更改为:

String[] split;

答案 2 :(得分:0)

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

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

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