如何将java.util.Scanner与整数一起使用

use*_*587 0 java java.util.scanner

我刚刚开始学习java,我想制作一个简单的程序,它要求人名,然后输出名称然后询问他们喜欢的号码.然后它会将它们的数字与数字6进行比较,并根据数字是大于还是小于6来输出.

我在Netbeans中收到一个"String to int convert"错误,这与扫描程序有关.希望我正确地问这个问题,但我怎样才能使扫描仪拾取整数?谢谢

package javaapplication2;
import java.util.Scanner;
import java.lang.String;

public class JavaApplication2 {
    public static void main(String[] args) {

        // Creating an instance of the scanner class.
        // Gets name and numbers.
        Scanner getName = new Scanner(System.in);
        Scanner getNumber = new Scanner(System.in);

        //Holds name and number
        String userName;
        int userNumber;

        // Asks for the users name.
        // Holds name in userName.
        System.out.println("What is your name?");
        userName = getName.nextLine();

        //Reponds with the users name.
        System.out.println("Hello" + userName + "!");

        //Asks for favorite number.
        // Holds number in userNumber.
        System.out.println("What is your favorite number?");
        userNumber = getNumber.nextLine();

        // Checks if users number is larger than 6.
        if (userNumber > 6) {
            // Stuff goes here.
        }       
    }

}
Run Code Online (Sandbox Code Playgroud)

Dmi*_*urg 6

您应该只使用Scanner一个输入流:

Scanner in = new Scanner(System.in);
Run Code Online (Sandbox Code Playgroud)

之后你应该使用它的方法来获得整数:

String name = in.nextLine();
int number = in.nextInt();
Run Code Online (Sandbox Code Playgroud)

当然,您应该阅读以下文档Scanner:

  1. 扫描器
  2. 扫描仪:: nextLine
  3. 扫描仪:: nextInt