2015-12-06 51 views
-3

在本網站的第一個帖子,所以,我基本上必須找到一種方法來整數在字符串中的整數,僅由空格分開,(例子會(「9 10 5 20 1 2 3」),然後找到所有切入的整數。我知道我必須使用chopper.nextInt(),但我不知道如何格式化整體的代碼,用總結後的輸出一起感謝這麼多使用scanner.chopper在字符串中總結整數:java

進口靜態java.lang.System中。*;! 進口java.util.Scanner中;

public class LineTotaller {0}私人字符串行;

public LineTotaller() 
{ 
    setLine(""); 
} 

public LineTotaller(String s) 
{setLine(s); 
} 

public void setLine(String s) 
{line = s; 
} 

public int getSum() 
{ 

    int sum = 0; 
    Scanner chopper = new Scanner(line); 
    while(chopper.hasNextInt()) 
    { 
     out.print(chopper.nextInt()); 

     sum+= //returned ints from above 


    } 

} 
public String getLine() 
{ 
    return ""; 
} 

public String toString() 
{ 
    return getLine(); 
} 

}

+1

顯示您的嘗試?我的意思是你到目前爲止嘗試過的代碼.... –

+0

請分享你的工作繼續幫助。 – Fawzan

+0

在這一點上,你會得到許多downvotes。當你嘗試閱讀http://stackoverflow.com/help/how-to-ask和http://stackoverflow.com/help/mcve來改善你的問題。 – davejal

回答

0

我認爲你要做到以下幾點

public int getSum() 
{ 
    int sum = 0; 
    Scanner chopper = new Scanner(line); 
    while(chopper.hasNextInt()) 
    { 
     int nextInt = chopper.nextInt(); 
     System.out.print(nextInt); 
     sum += nextInt; 
    } 
    return sum; 
} 

只能調用nextInt您確認後,一旦有通過hasNextInt東西。如果您想打印並將其添加到總和中,則必須將該值臨時存儲在變量中。

+0

非常感謝!我完全消失了,忘記了這一點。 – Jax

0

考慮使用string.split()方法的數字串放置你進入一個字符串數組然後通過陣列遍歷一個「for循環」中,每個元素轉換爲整數(Integer.valueOf())和維持每次迭代持續進行。

喜歡的東西:

String yourString = "9 10 5 20 1 2 3"; 
String[] myNumbers = yourString.split(" "); 
int total = 0; 
for (int i = 0; i < myNumbers.length; i++) { 
    total+= Integer.valueOf(myNumbers[i]); 
} 

System.out.println("Total is: -> " + total); 

,應該讓它爲你做。