初学者Java程序员挣扎(找不到行)

初学者Java程序员挣扎(找不到行),java,Java,目标是询问每个州的国会大厦是什么,说明是对还是错,然后在最后给出正确答案的总数。编译时,它不会给我任何错误,但当我尝试运行它时,它会说: java.uitl.NoSuchElementException: 找不到行(在java.util.Scanner中) 可能会有比这一个更多的错误,但我宁愿先关注这一个。任何反馈都将不胜感激,谢谢 代码: import java.util.*; 导入java.io.*; 公共阶级国家 { 公共静态void main(字符串[]args) 抛出java.io.I

目标是询问每个州的国会大厦是什么,说明是对还是错,然后在最后给出正确答案的总数。编译时,它不会给我任何错误,但当我尝试运行它时,它会说: java.uitl.NoSuchElementException: 找不到行(在java.util.Scanner中)

可能会有比这一个更多的错误,但我宁愿先关注这一个。任何反馈都将不胜感激,谢谢

代码:

import java.util.*;
导入java.io.*;
公共阶级国家
{
公共静态void main(字符串[]args)
抛出java.io.IOException
{
扫描仪输入=新扫描仪(系统输入);
字符串[][]cs=新字符串[50][1];
while(true)
{
在“”中输入字符串;
布尔ans=假;
整数=0;
整数计数=0;
负荷(cs);
in=输入(计数,cs);
ans=签入、计数、cs;
如果(ans==true)
{
理货++;
继续;
}
计数=计数+2;
如果(计数>100)
{
System.out.println(“正确答案的计数为“+tally+”);
打破
}
}//结束主方法while循环
}//端主方法
公共静态无效载荷(字符串[][]cs)
抛出java.io.IOException
{
字符串filName=“”;
filName=“C://Users/Troy/Documents/Class Documents/CSC 225/StateCapitals.txt”;
扫描仪输入=新扫描仪(新文件(文件名));
for(int row=0;row
在加载方法的开头,您没有使用scanner类正确读取文件

试着用这样的东西

ArrayList<String> lines = new ArrayList<>();

JOptionPane.showMessageDialog(null, "Please choose a file");        
JFileChooser input = new JFileChooser();
int a = input.showOpenDialog(null);
String file = "";

if (a == JFileChooser.APPROVE_OPTION) {
    File selectedFile = input.getSelectedFile();
    file = selectedFile.getPath();
}

//use file input to read in line one at a time
FileInputStream fstream = new FileInputStream(file);
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String line;
while ((line = br.readLine()) != null) {
    lines.add(line);
}
// Location of file to read
File file = new File("data.txt");

try {
    Scanner scanner = new Scanner(file);

    while (scanner.hasNextLine()) {
        String line = scanner.nextLine();
        System.out.println(line);
    }
    scanner.close();
} 

catch (FileNotFoundException e) {
        e.printStackTrace();
}

请显示整个exception stacktrace文本,并为我们指出引发异常的行。每当java运行时遇到这样的错误时,它都会吐出多行信息,这些信息对于找出问题发生的位置非常有用。它被称为“堆栈跟踪”,它(通常)告诉您错误发生时执行的确切类和源代码行号(以及哪个方法调用它,哪个方法调用它,等等)。一定要在你问的任何问题中包括这一点,在你检查了它之后,看看你是否能找到自己的错误。如果你要用Java编程,你需要知道怎么做。文件
StateCapitals.txt
包含102行吗?如果没有,那么你就有了问题的根源。()java.util.NoSuchElementException:java.util.Scanner.nextLine(Scanner.java:1540)at States.load(States.java:47)at States.main(States.java:21)如果不让我知道,我相信这就是您所说的。我不确定我做错了什么,因为我完全遵循我在另一个程序中所做的,只是更改了变量和.txt文件。好吧,我最终解决了这个问题,但现在它不会经过阿拉巴马州(第一个州),即使我给出了正确的答案,它也会说“正确的答案是…”,而它应该说“答案是正确的…”。
// Location of file to read
File file = new File("data.txt");

try {
    Scanner scanner = new Scanner(file);

    while (scanner.hasNextLine()) {
        String line = scanner.nextLine();
        System.out.println(line);
    }
    scanner.close();
} 

catch (FileNotFoundException e) {
        e.printStackTrace();
}