重定位分隔符注意:不想要這個問題的答案,因爲我想教自己,但我卡住了,並希望建議如何做。JAVA:重置字符串後使用.nextDouble
所以實踐中,我必須讀取輸入文件並對其進行回顯。
實踐問題是創建一個ATM交易中,輸入文件的一行寫着: 斯泰西·瓊斯,300 d 100
我必須把它作爲輸出:
name
current balance
action (D means deposit)
transaction amount
我現在有的名稱,並獲得當前餘額我改變了分隔符以逗號結束該行,但是我的問題是在當前餘額前仍有空白(即300)
這是我的代碼:
try {
FileInputStream stream = new FileInputStream("src/transactions.txt");
fileIn = new Scanner(stream);
fileIn.useDelimiter(",");
name = fileIn.next();
System.out.println("Customer Name: " + name);
fileIn.reset();
balance = fileIn.nextDouble();
System.out.printf("Checking balance before transaction: %.2f", balance);
} catch (FileNotFoundException e) {
System.out.println("Transactions cannot be found");
}
我收到的錯誤是:
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:857)
at java.util.Scanner.next(Scanner.java:1478)
at java.util.Scanner.nextDouble(Scanner.java:2404)
at MP3.main(MP3.java:30)
'Catch' *該異常*重新熟食店的隊友第二令牌和打印你想'nextDouble'輸入,你就會明白這個問題。 – Maroun
捕獲異常和我System.out.println(fileIn),它給了我這個: delimiters = \ p {javaWhitespace} + – Joseph