为什么会出现java.util.InputMismatchException问题?

时间:2018-12-08 13:35:46

标签: java java.util.scanner reader

There is a picture about the text file

我想在控制台中读取文件,但是每次尝试都会出现错误:

  

线程“主”中的异常java.util.InputMismatchException在   java.util.Scanner.throwFor(未知源),网址为   java.util.Scanner.next(未知源)在   java.util.Scanner.nextInt(未知源),位于   java.util.Scanner.nextInt(未知源),位于   feladat.feladat.main(feladat.java:26)

package feladat;

import java.util.ArrayList;
import java.util.Scanner;

class Kerites{
    int oldal;
    int hazszam;
    char szin;

    public Kerites(int oldal, int hazszam, char szin) {
        super();
        this.oldal = oldal;
        this.hazszam = hazszam;
        this.szin = szin;
    }
}

public class feladat {
     static Kerites kerites;
     static ArrayList<Kerites> keritesek = new ArrayList<>();
    public static void main(String []args) {
        Scanner sc = new Scanner("kerites.txt");

        while(sc.hasNextLine()){
            int oldal = sc.nextInt();
            int hazszam = sc.nextInt();
            char szin = sc.next().charAt(0); 


        kerites = new Kerites(oldal,
                hazszam,
                szin);
        keritesek.add(kerites);
        }
        System.out.println("A beolvasott adatok száma: " + keritesek.size());
        for (int i = 0; i < keritesek.size(); i++) {
            System.out.println(keritesek.get(i).oldal + " "
                    + keritesek.get(i).hazszam + " "
                    + keritesek.get(i).szin);
        }
    }
}

那么我在这段代码中做了什么修改?另外,我想知道我如何只阅读文本的最后一行?

1 个答案:

答案 0 :(得分:1)

sc = new Scanner(new File("kerites.txt"));

“ sc = new Scanner(“ kerites.txt”)表示扫描仪的资源是字符串“ kerites.txt”,而不是文件。