所以我是java的新手,我必须从文件中读取字符串,双精度和整数,然后将其打印出来。这是java向我抛出的错误:
错误:此处不允许变量声明Scanner file = new 扫描器(线);
这是什么意思?
答案 0 :(得分:0)
Scanner file = new Scanner(line);
失败,因为名为file的变量已在上面声明...
Scanner file = new Scanner(data);
为其中一个扫描程序变量指定一个不同的名称。您的代码还存在其他一些问题,但我认为这是一项学校作业,所以只回答了您提出的问题。
答案 1 :(得分:0)
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader("test.txt"));
String line;
while ((line = br.readLine()) != null) {
String[] splited = line.split(" ");
for (String st: splited) {
if(isInteger(st))
System.out.println("---int--->"+st);
else if(isDouble(st))
System.out.println("---dubl--->"+st);
else if (!st.isEmpty())
System.out.println("---String--->"+st);
}
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null) {
br.close();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
private static boolean isInteger(String st) {
try {
Integer.parseInt(st);
return true;
} catch (NumberFormatException e) {
return false;
}
}
static boolean isDouble(String str) {
try {
Float.parseFloat(str);
return true;
} catch (NumberFormatException e) {
return false;
}
}
This Maybe help you