Java 文件路径错误

Java filepath errors

我正在编写一个程序,它根据使用单独的 .txt 文件提供的边长来确定三角形的类型。 我的代码:

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class triangle {
static String a;    //first side
static String b;    //second side
static String c;  //third side
private static Scanner sc;

public static void main(String[] args) {
    try {
        sc = new Scanner(new File("imput.txt"));
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    while(sc.hasNextInt())
        a = sc.nextLine();
        b = sc.nextLine();
        c = sc.nextLine();

    if(a == b && a == c)
        System.out.println("Equilateral");

    else if(a != b || a != c)
        System.out.println("Isocelese");

    else if(a != b && a != c)
        System.out.println("Scalene");

    else
        System.out.println("Not a Triangle");


    }       
}

我已确认输入文件的文件路径正确并且我的程序能够成功编译,但是当程序 运行 我收到此错误:

Exception in thread "main" java.util.NoSuchElementException: No line found at java.util.Scanner.nextLine(Unknown Source) at triangle.main(triangle.java:41)

如何让我的程序正确读取输入文件?

您在 while 正文中省略了大括号 {},这导致while循环中唯一声明的是变量a

的赋值

扫描器正在消耗孔信息,一遍又一遍地重写变量 a,一旦扫描没有下一个,您就退出 while 并尝试获取下一行,尝试分配变量 b,导致 NoSuchElementException

您的问题:

while (sc.hasNextInt())
        a = sc.nextLine();
    b = sc.nextLine();
    c = sc.nextLine();

你需要做什么:

while (sc.hasNextInt()){
        a = sc.nextLine();
    b = sc.nextLine();
    c = sc.nextLine();
}