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()返します。String[]宣言を次のように変更します。

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

メソッド split は文字列配列を返すため、分割変数の型を配列に変更する必要があります。

また、ブラケットにない乗算記号。

この変数の宣言はローカルですか? はいの場合は、それらを定義する必要があります。そうしないと、ヒープにエラーが発生する可能性があります。

于 2013-09-25T02:06:58.600 に答える