不兼容的类型:void无法转换为int

D_W*_*ner 1 java class void

对于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....");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到错误"不兼容的类型:void无法转换为int"但我在代码中没有void类?我知道我的代码可能很糟糕,但如果你们能指出我的方向很好的话.谢谢.

Ger*_*son 8

你的程序没有返回一个intpublic 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....");
    }
}

}
Run Code Online (Sandbox Code Playgroud)

  • `int age = userInputScanner.nextLine();` 看起来也有点奇怪。 (2认同)