不兼容的类型:void无法转换为int
对于Java和编程而言,我是一个非常新的人。 我想创建一个简单的程序,你猜你的年龄,如果你是对的,它会说“正确”,如果你错了,它会说“错误”。
这是我的代码:
import java.util.InputMismatchException; import java.util.Scanner; // This will import just the Scanner class. public class GuessAge { public static int main(int[] args) { System.out.println("\nWhat is David's Age?"); Scanner userInputScanner = new Scanner(System.in); int age = userInputScanner.nextLine(); int validInput = 20; if (validInput == 20) { return System.out.println("Correct!!"); } else { return System.out.println("Wrong...."); } } }
我得到错误“不兼容的类型:void无法转换为int”但我在代码中没有void类? 我知道我的代码可能很糟糕,但如果你们能指出我的方向很好的话。 谢谢。
您的程序不必在public static int main
返回public static int main
。 相反,你可以将它作为void
(意思是不返回任何东西)。 您应该只是打印您的语句而不是return
它们。 int[]
应该是String[]
, Scanner
应检查注释中指出的nextInt()
!
import java.util.InputMismatchException; import java.util.Scanner; // This will import just the Scanner class. public class GuessAge { public static void main(String[] args) { System.out.println("\nWhat is David's Age?"); Scanner userInputScanner = new Scanner(System.in); int age = userInputScanner.nextInt(); int validInput = 20; // typo in your code - compare to age if (validInput == age) { System.out.println("Correct!!"); } else { System.out.println("Wrong...."); } } }
您正在尝试返回类型为void
System.out.println()
。 从System.out.println()
之前删除return
语句,它们仍将打印。 请注意,您不需要在main
方法中指定返回值。
在你的方法声明中,你有public static int main(int[] args)
static
关键字之后的单词是返回类型,在这种情况下,您的声明要求main方法返回int
。 要解决这个问题,main应该有一个void返回类型,因为你只在main中打印而不返回int类型。