我试图仅在循环的每次运行结束时运行nextLine(),以便每次迭代通过新行开始循环,但是在上一次运行的结束时,我不希望它运行nextLine() ),因为它会跳过程序其余部分所需的数据。我该如何解决?
String hasInt = fileIn.nextLine();
while(Character.isDigit(hasInt.charAt(0)))
{
data = hasInt.split(",");
info = Integer.parseInt(data[0]);
def = data[1];
case = data[2];
free = data[3];
Case newCase = new Case(info, def, case, free);
miner.addCase(newCase);
hasInt = fileIn.nextLine();
}
很好地将其组合到for循环中似乎可以正常工作,这使我从头到尾遍历了整个循环,并且似乎可以正常工作,但是现在在方法开始时,它陷入了无限循环
while(fileIn.hasNextLine())
{
if(fileIn.hasNext("[A-Za-z]+"))
{
最佳答案
do {
String hasInt = fileIn.nextLine();
if (!Character.isDigit(hasInt.charAt(0)) {
break;
}
// rest of your code here
} while(true);
关于java - nextLine()在while循环结束时跳过行。丢失数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22246424/