如何解决二元运算符的这种错误操作数类型

How to solve this this bad operand types for binary operator

import java.io.*;
import java.util.*;

public class Solution {

    public static void main(String[] args) {
        
        Scanner sc = new Scanner(System.in);
        
        for(int i=1;i < sc.hasNext();i++){
            System.out.print(i+sc.nextLine());
        }
    }
}


Solution.java:10: error: bad operand types for binary operator '<'
        for(int i=1;i < sc.hasNext();i++){
                      ^
  first type:  int
  second type: boolean
1 error

hasNext() 方法 returns 如果此扫描器在其输入中有另一个标记则为真,否则如果它没有更多标记则它 returns 为假。而且我们无法将 intboolean 进行比较。因此,使用 hasNext() 作为终止条件就足够了。

import java.io.*;
import java.util.*;

class Solution
{
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        
        for (int i=1;sc.hasNext();i++)
        {
            System.out.print(i+sc.nextLine());
        }
        /** ALT:
        int i = 1;
        while (sc.hasNext())
        {
            System.out.print(i+sc.nextLine());
        }
        **/
    }
}