我的用户输入代码有什么问题?

时间:2012-10-06 08:27:59

标签: java

每次我使用此代码:

import java.util.*;

public class Main{

public static void main (String args []){
System.out.println("What is your name?");
Scanner name = new Scanner (System.in);
System.out.println("Hello," + name);
}
} 

它只给了我一些随机的字母:

您好,java.util.Scanner [delimiters = \ p {javaWhitespace} +] [position = 0] [match valid = false] [need input = false]

请有人帮忙。

3 个答案:

答案 0 :(得分:2)

因为您正在执行的操作实际上只是打印出扫描程序的toString方法,因为在您的代码中,对象名称实际上是Scanner的一个实例,它不是字符串。

您需要调用该方法来实际读取用户输入。

你需要做的是做这样的事情

import java.util.*;

public class Main{

public static void main (String args []){
System.out.println("What is your name?");
Scanner scanner = new Scanner (System.in);
String name = scanner.next();
System.out.println("Hello," + name);
}
} 

答案 1 :(得分:0)

Scanner name = new Scanner (System.in); 

使用此功能,您已创建扫描参考。用它来读取像

这样的名字
String str = name.next();

了解更多详情,了解Scanner课程。

答案 2 :(得分:0)

您正在打印扫描仪的参考。 如果要输入整数,请写入

Scanner in = new Scanner(System.in); 
int n = in.nextInt();

如果要输入字符串,请写

Scanner in = new Scanner(System.in); 
    String n = in.next();