如何使用Scanner读取.txt,第一个值转到int x,第二个值转到int y,第三个转到int x继续... 并做验证。 我写了这样的代码,但它没有读取所有值:
Scanner kb = new Scanner(f);
while(kb.hasNextInt())
{
k[n] = new Medida();
tmp = kb.nextInt();
if(tmp >= 0 && tmp <= 100)
k[n].hum = tmp;
tmp1 = kb.nextInt();
if(tmp1 >= -10 && tmp1 <= 40)
k[n].temp = tmp1;
n++;
if(n == 31) break;
}
我的档案是这样的:
答案 0 :(得分:1)
将文件转换为List(Java 7):
List<String> lines = Files.readAllLines(Paths.get("file.txt"), StandardCharsets.UTF_8);
之后,在列表中循环运行并按->
final String SPLIT = "-> int ";
List<String> lines = Files.readAllLines(Paths.get("C:\\test.txt"), StandardCharsets.UTF_8);
int x = 0,y = 0;
int temp;
for(int i=0; i<lines.size(); i++){
temp = Integer.parseInt(lines.get(i).split(SPLIT)[0].trim());
// in case id line contains integer only:
// temp = Integer.parseInt(lines.get(i).trim());
if(i % 2 == 0){
x += temp;
}
else{
y += temp;
}
}
System.out.println(x);
System.out.println(y);