2013-09-25 92 views
0

我正試圖設置一個程序,提示用戶輸入一個只包含加法的數學公式,並將其放在括號中。我的代碼旨在搜索這些方程並返回方程的總和。Java: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); 
    } 
} 
+0

通過拆分http://stackoverflow.com/a/3481842/2291134 – gjman2

回答

2

你應該聲明變量作爲分割的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("+"); 
} 
+0

沒問題這有意義,我想我可以創建一個for循環,檢查所有的單個陣列的位置,看看他們是否遺漏,如果他們是我可以將它們添加到獨立的int並添加它們。 –

2

究竟作爲錯誤消息告訴您,String#split() returns a String[],它是一個字符串數組你的宣言改成這樣:

String[] split; 
+0

@Makoto感謝您的編輯; SE的鏈接插件玷污了那個。 –

0

方法拆分返回一個字符串數組,所以你應該改變你的分裂變量的類型的數組。

此外,乘法符號不在制動器中。

變量的聲明是本地的嗎?如果是的話,你應該定義它們,否則堆中可能會出現錯誤。