Java &引用;类型不匹配:无法从int转换为boolean;我不知道';我不知道错误到底是什么

Java &引用;类型不匹配:无法从int转换为boolean;我不知道';我不知道错误到底是什么,java,Java,我的Java课老师和他的学生们一起复习了一个例子,结果我犯了一个错误,我不明白是什么错了。我只知道错误是“类型不匹配:无法从int转换为boolean”。问题出在包含“input.length”的行上,代码的整个部分以“publicbooleanvalidate(stringinput)”开头 没有解决这个问题的建议,所以我不知道该怎么做。我对Java了解不够,无法解决这个问题 import java.util.Scanner; public class Application { publi

我的Java课老师和他的学生们一起复习了一个例子,结果我犯了一个错误,我不明白是什么错了。我只知道错误是“类型不匹配:无法从int转换为boolean”。问题出在包含“input.length”的行上,代码的整个部分以“publicbooleanvalidate(stringinput)”开头

没有解决这个问题的建议,所以我不知道该怎么做。我对Java了解不够,无法解决这个问题

import java.util.Scanner;

public class Application {
public void start(){
    Scanner scan = new Scanner(System.in);

    while(true)//trap
    {
        System.out.println("Enter an integer: ");
        int x = scan.nextInt();//could cause exception
        String s = scan.next();

        if(validate(s)){
            System.out.println("You entered "+s);
            System.out.println("Input is valid");
        }else{
            System.out.println("You entered "+s);
            System.out.println("Input is NOT valid");
        }
    }//end while


}//end start

public boolean validate(String input){
    //loop through strings char array looking for #
    for(int i = 0;input.length();i++){
        char c = input.charAt(i);
        if(!Character.isDigit(c)){//if char not #
            return false;
        }
    }

    return true;
}



}//end class

预期的结果是找出问题所在。

通常,将错误所在的行号包括在内是有帮助的,但我认为我已经找到了问题所在。您有一个
for
循环:

for(int i = 0;input.length();i++){
for循环中的第二个条件应该是一个布尔条件,指示循环是否应该继续<代码>输入.length()返回一个
int
而不是
boolean

我相信您希望循环整个输入,在这种情况下,您应该使用:

for (int i = 0; i < input.length(); i++) {
for(int i=0;i
In
for(int i=0;input.length();i++)的可能重复项
,其中有
input.length()
应该有一个条件:
i