我正在努力学习Java,这意味着我的经验和知识几乎没有,我希望你可以帮助我:
(我的想法就像你在电子游戏中如何命名自己一样,可以选择在以后的实例中显示名称,后面没有任何更深层含义)
import java.util.Scanner;
public class Playername {
public static void main(String[] args) {
public String getName();
Scanner Charname = new Scanner (System.in);
System.out.print ("What is your name?");
Charname.nextLine();
String getName = Charname;
System.out.print (Charname);
}
}
我可能搞砸了这一点,只读了一本关于java的书的前几章,然后尝试使用命令和事物,他们不应该使用它们。 (我想保存扫描仪的名称,然后将其复制到String变量中)
谢谢
PS:我得到的错误是"无法从扫描仪转换为字符串",基本上说明我的问题将是如何以最简单的方式实现我的想法。
答案 0 :(得分:1)
试试这个
Scanner Charname = new Scanner (System.in);
System.out.print ("What is your name?");
String input = Charname.nextLine();
String getName = input;
System.out.print (input);
您无法将扫描仪对象直接指定给字符串引用。
答案 1 :(得分:1)
您正在尝试将time
Charname
分配给Scanner
您要做的是将String
Charname.nextLine()
分配给您的变量
String
答案 2 :(得分:0)
欢迎使用StackOverflow!
首先,我想先介绍一些code conventions.
这些可以帮助其他人阅读您的代码,因为即使您可能知道发生了什么;我们可能不会。
现在,问你的问题。
Scanner scannerName = new Scanner (InputStream inputStream);
此行创建一个Scanner对象,其中InputStream来自输入流,我们将其命名为scannerName。通常,您希望将对象标记为它们的名称或缩写。
Scanner scanner1 = new Scanner(System.in);
这足以满足我们的目的。由于我们希望从System.in输入流或控制台获取信息,因此我们使用System.in作为InputStream。
现在,我们创建的这个扫描程序对象可以从控制台接收输入。它通过使用像
这样的方法来做到这一点scanner1.nextLine();
上面的代码returns一个String值。 一个人,这很没用。所以我们将分配一个String对象来获取和存储该值。
String characterName = scanner1.nextLine();
这样做是在输入后将String的值设置为等于scanner1的输入流的值。
因此,如果用户输入“Johnathan Nathan”,然后按Enter键,则名为characterName的字符串将设置为“Johnathan Nathan”。
一个完整的工作示例是:
Scanner scanner1 = new Scanner(System.in);
System.out.println("Please enter your name: ");
String characterName = scanner1.nextLine();
System.out.println("Hello, " + characterName());
这会询问该人的姓名,然后直接向他们问好。
最后,如果您对如何使用课程有任何疑问,您可以随时查找您遇到问题的班级的Javadoc。