簡體   English   中英

Java中的InputMismatchException錯誤

[英]InputMismatchException Error in Java

 public static void readStaffsFromFile() {
    String inFileName = "startup.txt";
    int numStaff, staffID;
    String name, address;
    Staff newStaff;
    boolean fileExists;
    Scanner inFile = null;
    File databaseFile = new File(inFileName);

    fileExists = databaseFile.exists();

    if (fileExists) {
        try {
            inFile = new Scanner(databaseFile);
        } catch (FileNotFoundException fnfe) {
            JOptionPane.showMessageDialog(null, "The file startup.txt has just now been deleted.");
            return; // cannot do anything more.
        }

        numStaff = inFile.nextInt();
        inFile.nextLine();

        for (int i = 0; i < numStaff; i++) {
            staffID = inFile.nextInt();
            name = inFile.nextLine();
            address = inFile.nextLine();

            // try{
            newStaff = new Staff(staffID, name, address);
            addStaff(newStaff);
            // } catch (StaffException se)
            // {
            // System.out.println("Unable to add staff: " + name +
            // " to the system.");
            // }

        }

    }
    JOptionPane.showMessageDialog(null, "System has been set up with default data from startup.txt.");
}

我有這個方法,當我嘗試從main調用這個方法時,它給了我這個錯誤。

線程“主”中的異常java.util.InputMismatchException

at java.util.Scanner.throwFor(Scanner.java:909)
at java.util.Scanner.next(Scanner.java:1530)
at java.util.Scanner.nextInt(Scanner.java:2160)
at java.util.Scanner.nextInt(Scanner.java:2119)
at SystemStartUp.readStaffsFromFile(SystemStartUp.java:195)
at SystemStartUp.loadFromFile(SystemStartUp.java:160)
at StartUp.main(StartUp.java:9)

錯誤的錯誤行指出,我的錯誤從“ staffID = inFile.nextInt(); ”行開始

輸入文件如下所示。

13

11111111

Chris Ling

999 Dandenong Road

22222222

Des Casey

100 Silly Drive

33333333

Maria Indrawan

90 Programming Road

44444444

Campbell Wilson

2/5 Database Street

55555555

Janet Fraser

21 Web Drive

66666666

Judy Sheard

34 Hos Road

77777777

Ngoc Minh

24 Message Street

88888888

Martin Atchinson

45 Martine Street

99999999

Aleisha Matthews

1/6 Admin Road

10101010

Denyse Cove

100 Reception Street

12121212

Cornelia Liou

232 Reception Road

23232323

Trudi Robinson

111 Manager Street

34343434

Henry Linger

2/4 HDR Street

可能staffID並不總是包含數字。 請檢查輸入文件。

staffID之后,您必須添加inFile.nextLine(); 在帶數字的行之后使用新的行字符。 否則,您將在第二個循環中收到錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM