1
有人可以帮我看看问题是什么。我意识到使用 String kind = sc.next(); 可能会带来问题。如果这是问题,我该如何解决它。先谢谢你。这是代码。使用扫描器时发生Java异常错误
import java.io.*;
import java.util.*;
public abstract class Account {
protected static AccountNumber accountNumber;
protected Customer customer = null; // not to be used yet
public abstract MeterNumber[] getMeterNumbers();
public abstract boolean exists(String meterNumber, String tariff);
public static Account load(Scanner sc) {
while (sc.hasNextLine()) {
AccountNumber accountNumber = AccountNumber.fromString(sc.nextLine());
String kind = sc.next();
sc.nextLine();
if (kind.equals("D")) {
return new DomesticAccount(sc, accountNumber);
} else {
return new CommercialAccount(sc, accountNumber);
}
} {
return null;
}
}
}
主要代码如下。
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet;
public class Testt {
public static void main(String[] args) {
Account.load(new Scanner("Accounts3.txt"));
Map <AccountNumber, String> map1 = new HashMap <AccountNumber, String>();
map1.put(Account.accountNumber, "hello");
System.out.println(map1);
}
}
这是我得到的错误。
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:862)
at java.util.Scanner.next(Scanner.java:1371)
at Account.load(Account.java:20)
at Testt.main(Testt.java:14)
如果在什么'AccountNumber.fromString不匹配输入(sc.nextLine())' ? – 2014-11-01 05:43:45
String kind = sc.next();什么是第14行? – smushi 2014-11-01 05:44:04
@smushi行11 – 2014-11-01 05:48:52