Java读取文件:列出无效数据

时间:2019-03-20 00:06:05

标签: java text-files

我想列出如下文本文件中的所有无效数据:

1299

dwhie

1237

213

kmn

小于1000的数字均无效。我的代码如下:

    String score;
    int count=0;
    int number;
    TextIO.readFile("scores.txt");
    System.out.println("reading the file now...");

    while (!TextIO.eof())
    {
        count ++;
        score = TextIO.getln();
        number = Integer.parseInt(score);
    if (number < 1000)
    {
        System.out.println(score);
    }

但是,它未能列出所有非数字数据。有人可以帮我吗?谢谢!

2 个答案:

答案 0 :(得分:3)

这里是一种方法:

try {
    int number = Integer.parseInt(score);
    if (number >= 1000) {
        // number is valid, skip
        continue;
    }
} catch (NumberFormatException nfe) {
    // not a number; fall through
}
System.out.println(score);

或者您可以让它自然循环并复制打印语句:

try {
    int number = Integer.parseInt(score);
    if (number < 1000) {
        System.out.println(score);
    }
} catch (NumberFormatException nfe) {
    System.out.println(score);
}

答案 1 :(得分:3)

如果score不是数字,则它将不能转换为整数,并且将引发Exception。您将需要捕获此异常

try {
    number = Integer.parseInt(score);
    if (number < 1000)
    {
       System.out.println(score);
    }
} catch (NumberFormatException ex) {
    System.out.println ("not a number");
}