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();
}
我正在编写一个程序,它根据使用单独的 .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();
}