2

每次我使用此代码时:

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][需要输入=false]

请有人帮忙。

4

3 回答 3

2

因为您所做的实际上只是打印出 Scanner 的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);
}
} 
于 2012-10-06T08:30:05.347 回答
0
Scanner name = new Scanner (System.in); 

使用它,您已经创建了一个扫描参考。使用它来读取名称,例如

String str = name.next();

阅读有关Scanner类的更多详细信息。

于 2012-10-06T08:30:32.713 回答
0

您正在打印扫描仪的参考。如果你想输入一个整数,写

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

如果你想输入一个字符串,写

Scanner in = new Scanner(System.in); 
    String n = in.next();
于 2016-05-30T11:59:11.297 回答