您好,我有以下代码,但在读取输入时不断收到错误。我试图弄清楚这一点,但我没有成功。我的输入是
5
8 1
1 4
8 8
7 15
4 20
我的错误是
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at trapped.main(trapped.java:12)
我的代码是
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;
public class trapped {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner("C:/usaco.txt");
int index = sc.nextInt();
}
}
最佳答案
Scanner(String)
变体为您提供了一个扫描器,它读取字符串,而不是字符串引用的文件。您可以使用以下代码看到这一点:
import java.util.Scanner;
public class Test
{
public static void main(String[] args) {
Scanner sc = new Scanner("C:/usaco.txt");
String str = sc.next();
System.out.print(str);
}
}
输出文件名称C:/usaco.txt
而不是文件内容。
如果您想从字符串指定的文件中读取数据,则需要一个文件对象,例如:
Scanner sc = new Scanner(new File("C:/usaco.txt"));
按照:
import java.util.Scanner;
import java.io.File;
public class Test
{
public static void main(String[] args) {
try {
Scanner sc = new Scanner(new File("/home/pax/xyzzy.txt"));
int ivar = sc.nextInt();
System.out.print(ivar);
} catch (Exception e) {
e.printStackTrace();
};
}
}
关于java - 无法读取输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29453510/