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

Java 我的用户输入代码有什么问题?,java,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.Sca

每次我使用此代码时:

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]


请找个人帮忙

因为您实际上只是打印出扫描仪的
toString
方法,因为在您的代码中,对象名称实际上是扫描仪的一个实例,而不是字符串

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

你需要做的就是这样做

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);
}
} 
使用此选项可以创建扫描引用。用这个来读这个名字,就像

String str = name.next();

阅读有关类的详细信息。

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

Scanner in = new Scanner(System.in); 
int n = in.nextInt();
如果要输入字符串,请编写

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