java - 无法读取输入?

标签 java input error-handling

您好,我有以下代码,但在读取输入时不断收到错误。我试图弄清楚这一点,但我没有成功。我的输入是

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/

相关文章:

c++ - 在C++中,异常/错误是否也设置错误号?

java - 如何获取从蓝牙传入消息返回的字节数组值并在将其显示在其他设备上之前对其进行编辑?

input - 直接在输入字段内自动完成

html - 删除自动填充输入的黄色背景

validation - 如何从 FormRequest 类方法中访问当前经过身份验证的用户

java - R.string Resources $ NotFoundException在Android应用程序上的错误

java - 将 2D 数组条目初始化为 0 时出现 ArrayIndexOutOfBoundsException

java - 比较Java中不同类的对象字段

java - 解析时间字符串时出错

tsql - 外键约束冲突,但行仍然插入?