在java中从文本文件读取字符串和整数

在java中从文本文件读取字符串和整数,java,text-files,Java,Text Files,错误: Computer and Information Research Scientists 102190 Computer and Information Analysts 80460 Computer Systems Analysts 79680 Information Security Analysts 86170 Software Developers and Programmers 87100 Computer Programmers 74280 Software Develope

错误:

Computer and Information Research Scientists
102190
Computer and Information Analysts
80460
Computer Systems Analysts
79680
Information Security Analysts
86170
Software Developers and Programmers
87100
Computer Programmers
74280
Software Developers(Applications)
90060
Software Developers(Systems Software)
99000
Web Developers
62500
Database and Systems Administrators and Network Architects
76880
Database Administrators
77080
Network and Computer Systems Administrators
72560
Computer Network Architects
91000
Computer Support Specialists
48900
Computer User Support Specialists
46420
Computer Network Support Specialists
59090

似乎每隔几天就会有人问这个问题,或是类似的问题

当您调用
nextInt()
时,扫描仪会在输入号码后停止。然后,当您随后立即调用
nextLine()
时,实际上是在读取数字所在行末尾的新行字符。你没有读下一行。因此,在循环的下一次迭代中,当扫描器中的非数字文本排成一行时,您将调用
nextInt()


在每次调用
nextLine()
之后,添加一个额外的调用
nextLine()
,只是为了读取额外的新行字符。

这个问题,或其等效问题,似乎每隔几天就会被问一次

当您调用
nextInt()
时,扫描仪会在输入号码后停止。然后,当您随后立即调用
nextLine()
时,实际上是在读取数字所在行末尾的新行字符。你没有读下一行。因此,在循环的下一次迭代中,当扫描器中的非数字文本排成一行时,您将调用
nextInt()


在每次调用
nextLine()
之后,添加一个额外的调用
nextLine()
,只是为了读取额外的新行字符。

会出现什么错误?停止。把所有这些代码放在一边。开始一个新项目,只关注文件IO。使代码尽可能简单。试着找出如何进行文件IO。如果你对这个简短、小型、简单的项目有问题,请把它带到这里,这样我们就不必通读与你似乎遇到的任何问题无关的大量代码。@nhgrif我明白你的意思,但这段代码是用于练习文件IO的,我似乎在某个地方遇到了问题。请帮我检查一下。谢谢。@RaymondMachiraException在java.util.Scanner.throwFor(Scanner.java:909)在java.util.Scanner.next(Scanner.java:1530)在java.util.Scanner.nextInt(Scanner.java:2160)在java.util.Scanner.nextInt(Scanner.java:2119)在assignment7.Coordinator.readFile(Coordinator.java:56)在java在assignment7.Coordinator.main(Coordinator.java:25)中,我不打算计算所有这些行,以确定哪一行是25,哪一行是56。我想让你突出那些具体的台词。这正好强化了我刚才的观点。为了通过StackOverflow获得有效的帮助,您发布的代码非常庞大和繁琐。开始一个新项目,找出文件IO,然后将你在该项目中学到的知识应用到这个项目中。你会遇到什么错误?停止。把所有这些代码放在一边。开始一个新项目,只关注文件IO。使代码尽可能简单。试着找出如何进行文件IO。如果你对这个简短、小型、简单的项目有问题,请把它带到这里,这样我们就不必通读与你似乎遇到的任何问题无关的大量代码。@nhgrif我明白你的意思,但这段代码是用于练习文件IO的,我似乎在某个地方遇到了问题。请帮我检查一下。谢谢。@RaymondMachiraException在java.util.Scanner.throwFor(Scanner.java:909)在java.util.Scanner.next(Scanner.java:1530)在java.util.Scanner.nextInt(Scanner.java:2160)在java.util.Scanner.nextInt(Scanner.java:2119)在assignment7.Coordinator.readFile(Coordinator.java:56)在java在assignment7.Coordinator.main(Coordinator.java:25)中,我不打算计算所有这些行,以确定哪一行是25,哪一行是56。我想让你突出那些具体的台词。这正好强化了我刚才的观点。为了通过StackOverflow获得有效的帮助,您发布的代码非常庞大和繁琐。开始一个新项目,找出文件IO,然后将在该项目中学到的知识应用到该项目中。
Computer and Information Research Scientists
102190
Computer and Information Analysts
80460
Computer Systems Analysts
79680
Information Security Analysts
86170
Software Developers and Programmers
87100
Computer Programmers
74280
Software Developers(Applications)
90060
Software Developers(Systems Software)
99000
Web Developers
62500
Database and Systems Administrators and Network Architects
76880
Database Administrators
77080
Network and Computer Systems Administrators
72560
Computer Network Architects
91000
Computer Support Specialists
48900
Computer User Support Specialists
46420
Computer Network Support Specialists
59090
Exception in thread "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 assignment7.Coordinator.readFile(Coordinator.java:56)
at assignment7.Coordinator.main(Coordinator.java:25)