我试图仅在循环的每次运行结束时运行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/

10-14 04:35