我無法作出的StringTokenizer分手文本的幾行成單獨記號做記號。輸入的文本是StringTokenizer的不是新線
3
monkeys
但是,StringTokenizer顯然將它解釋爲「3monkeys」。我需要它是「3」和「猴子」。正因爲如此,NumberFormatException正在拋出,因爲我需要將字符串「3」轉換爲整數。
這是我到目前爲止的代碼。
Scanner f = new Scanner(new FileInputStream("input.txt")); // Yes, i have the actual input file path here, but I changed it for this question.
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("output.txt")));
String temp = "";
//String cString = "";
while(f.hasNextLine()) {
String cString = f.nextLine();
temp += cString;
}
StringTokenizer everythingTokens = new StringTokenizer(temp);
String[] everything = new String[ everythingTokens.countTokens() ];
for(int i = 0; i < everything.length; i++) {
everything[ i ] = everythingTokens.nextToken();
}
int numberOfPeople = Integer.parseInt(everything[ 0 ]); // Line where exception occurs.
out.println(everything[ 0 ]);
的錯誤信息是這樣的
Exception in thread "main" java.lang.NumberFormatException: For input string: "3monkeys"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:492)
at java.lang.Integer.parseInt(Integer.java:527)
at gift1.main(gift1.java:32)
Java Result: 1
這究竟是爲什麼以及如何解決呢?
這應該被標記爲正確答案。 – Caten 2017-03-23 00:42:37