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

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

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


当前回答

举个简单的例子:

import java.util.Scanner;

public class Example
{
    public static void main(String[] args)
    {
        int number1, number2, sum;

        Scanner input = new Scanner(System.in);

        System.out.println("Enter First multiple");
        number1 = input.nextInt();

        System.out.println("Enter second multiple");
        number2 = input.nextInt();

        sum = number1 * number2;

        System.out.printf("The product of both number is %d", sum);
    }
}

其他回答

你可以在Java中使用Scanner类

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

说明java.util.Scanner如何工作的一个简单示例是从System.in中读取单个整数。这真的很简单。

Scanner sc = new Scanner(System.in);
int i = sc.nextInt();

要检索用户名,我可能会使用sc.nextLine()。

System.out.println("Enter your username: ");
Scanner scanner = new Scanner(System.in);
String username = scanner.nextLine();
System.out.println("Your username is " + username);

如果您想对输入进行更多控制,或者只是验证用户名变量,也可以使用next(字符串模式)。

你可以在java.util.Scanner的API文档中找到更多关于它们实现的信息

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

你写过

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();