如何使用Scanner类从控制台读取输入?就像这样:

System.out.println("Enter your username: ");
Scanner = input(); // Or something like this, I don't know the code

基本上,我想要的只是让扫描器读取用户名的输入,并将输入分配给一个String变量。


当前回答

Scanner scan = new Scanner(System.in);
String myLine = scan.nextLine();

其他回答

有几种方法可以从用户那里获得输入。在这个程序中,我们将使用Scanner类来完成任务。这个Scanner类属于java。util,因此程序的第一行是import java.util.Scanner;它允许用户读取Java中各种类型的值。import语句行必须在java程序的第一行中,我们将进一步处理代码。

in.nextInt(); // It just reads the numbers

in.nextLine(); // It get the String which user enters

为了访问Scanner类中的方法,创建一个新的Scanner对象作为“in”。现在我们用它的一种方法,那就是“next”。“next”方法获取用户在键盘上输入的文本字符串。

这里我使用in.nextLine();来获取用户输入的字符串。

import java.util.Scanner;

class GetInputFromUser {
    public static void main(String args[]) {
        int a;
        float b;
        String s;

        Scanner in = new Scanner(System.in);
        System.out.println("Enter a string");
        s = in.nextLine();
        System.out.println("You entered string " + s);

        System.out.println("Enter an integer");
        a = in.nextInt();
        System.out.println("You entered integer " + a);

        System.out.println("Enter a float");
        b = in.nextFloat();
        System.out.println("You entered float " + b);
    }
}

你写过

Scanner = input()

这是错误的方法,你必须创建一个整数或字符串,我更喜欢字符串,然后给一个字符串任意的名字,可以是I可以是n,或者其他的,记住你是在给用户名取名字你也可以给名字取用户名,代码是

String username = sc.nextline();
System.our.println("the username is" + username);

我希望你现在明白了

input.nextInt()方法有问题——它只读取int值。

因此,当使用input.nextLine()读取下一行时,您会收到“\n”,即回车键。所以要跳过这个,你必须添加input.nextLine()。

试着这样做:

 System.out.print("Insert a number: ");
 int number = input.nextInt();
 input.nextLine(); // This line you have to add (it consumes the \n character)
 System.out.print("Text1: ");
 String text1 = input.nextLine();
 System.out.print("Text2: ");
 String text2 = input.nextLine();

当用户输入他/她的用户名时,也检查是否有有效的输入。

java.util.Scanner input = new java.util.Scanner(System.in);
String userName;
final int validLength = 6; // This is the valid length of an user name

System.out.print("Please enter the username: ");
userName = input.nextLine();

while(userName.length() < validLength) {

    // If the user enters less than validLength characters
    // ask for entering again
    System.out.println(
        "\nUsername needs to be " + validLength + " character long");

    System.out.print("\nPlease enter the username again: ");
    userName = input.nextLine();
}

System.out.println("Username is: " + userName);

你可以在Java中使用Scanner类

Scanner scan = new Scanner(System.in);
String s = scan.nextLine();
System.out.println("String: " + s);