我正在尝试将char与String进行比较,但出现错误。 错误
error: incompatible types: unexpected return value
代码:
public class MyClass {
public static void main(String args[]) {
String s = Integer.toBinaryString(2432);
String p = "0";
for (char c : s.toCharArray()) {
return p.equals(new String(new char[]{c}));
}
}
}
答案 0 :(得分:4)
main()
的类型为void
(public static
void main(String args[]) {
)
因此,您不能从中返回值。
运行此命令时得到的实际错误是:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Void methods cannot return a value
答案 1 :(得分:2)
字符不是对象,可以/应该使用==
运算符进行比较。无需每次都构建一个字符串。同样,main
方法不能返回任何值,它是void
。
答案 2 :(得分:1)
main方法不能返回任何内容,它的类型为void
。
您可以编写一个单独的函数来返回该值,将该值分配给变量或仅打印该值。
public boolean strChar(String s, String p){
return p.equals(new String(new char[]{c}));
}
或
System.out.println(p.equals(new String(new char[]{c})));
或
boolean equals = p.equals(new String(new char[]{c}));