我想列出如下文本文件中的所有无效数据:
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);
}
但是,它未能列出所有非数字数据。有人可以帮我吗?谢谢!
答案 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");
}