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