今天閒著跑去高中生點了一題出來 – 讀取練習-強大的加法
用Scanner自動濾掉空格結果還是有錯,
看得出來測資應該就不像範例只有一位元那麼單純。
google 一下,找到了一個可以拆解字串的類別 – StringTokenizer
StringTokenizer 預設情況下是以空白符號分解字串。
先讀取整行:
String si = input.nextLine();
再來拆解:
StringTokenizer sc = new StringTokenizer(si);
這時候整行字串會依空格將整行字串拆解。
例如今天傳入一行 Hello world by Calos
那麼拆解後就會變成:
Hello
world
by
calos
有人應該有疑問說,空格很多格,不會拆解出一堆空白字串嗎??
上面有提到:<strong>StringTokenizer預設情況下是以空白符號分解字串。
即讀取到space時是自動忽略,並且以 space 來判定一個字串的結尾。
題目範例輸入:
1 2
2 5 8 8 8 5
依第二行測資,字串會拆解為:2、5、8、8、8、5
把拆解過後的數字轉型並加總:
int sum = 0;
while ( sc.hasMoreTokens() ) {
sum += Long.parseLong( sc.nextToken() );
}
輸出:
System.out.println(sum); //36
ps: 先拉套件進來才能正常運作
import java.util.*;
import java.math.*;