不兼容的类型:void 无法转换为 int
incompatible types: void cannot be converted to int
我对 Java 和一般编程都非常陌生。我正在尝试创建一个简单的程序,您可以在其中猜测我的年龄,如果您猜对了,它会说 "correct",如果您猜错了,它会说 "wrong".
这是我的代码:
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....");
}
}
}
我收到错误 "incompatible types: void cannot be converted to int" 但代码中没有 void class?我知道我的代码可能很糟糕,但如果你们能指出我正确的方向,那就太好了。谢谢。
您的程序不必 return int
in public static int main
。相反,您可以将其设置为 void
(意思是不要 return 任何东西)。您应该只打印您的声明,而不是 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....");
}
}
}
您正在尝试 return System.out.println()
类型 void
。删除 System.out.println()
之前的 return
语句,它们仍然会打印。请注意,您不需要在 main
方法中指定 return 值。
在您的方法声明中,您有 public static int main(int[] args)
static
关键字后的单词是 return 类型,在这种情况下,您的声明要求 main 方法 return 和 int
。要解决这个问题,main 应该有一个 void return 类型,因为您只在 main 中打印而不是 returning 类型 int。
我对 Java 和一般编程都非常陌生。我正在尝试创建一个简单的程序,您可以在其中猜测我的年龄,如果您猜对了,它会说 "correct",如果您猜错了,它会说 "wrong".
这是我的代码:
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....");
}
}
}
我收到错误 "incompatible types: void cannot be converted to int" 但代码中没有 void class?我知道我的代码可能很糟糕,但如果你们能指出我正确的方向,那就太好了。谢谢。
您的程序不必 return int
in public static int main
。相反,您可以将其设置为 void
(意思是不要 return 任何东西)。您应该只打印您的声明,而不是 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....");
}
}
}
您正在尝试 return System.out.println()
类型 void
。删除 System.out.println()
之前的 return
语句,它们仍然会打印。请注意,您不需要在 main
方法中指定 return 值。
在您的方法声明中,您有 public static int main(int[] args)
static
关键字后的单词是 return 类型,在这种情况下,您的声明要求 main 方法 return 和 int
。要解决这个问题,main 应该有一个 void return 类型,因为您只在 main 中打印而不是 returning 类型 int。