让用户输入要存储的类/扫描程序的名称?

时间:2015-08-12 16:37:42

标签: java string variables

我正在努力学习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:我得到的错误是"无法从扫描仪转换为字符串",基本上说明我的问题将是如何以最简单的方式实现我的想法。

3 个答案:

答案 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