【问题标题】:making the user input a name for the class/scanner to store?让用户输入要存储的类/扫描仪的名称?
【发布时间】:2015-08-12 16:37:42
【问题描述】:

我正在努力学习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 的书的前几章,然后尝试以不应该使用的方式使用命令和东西。 (我想保存扫描仪的名称,然后将其复制粘贴到字符串变量中)

谢谢

PS:我得到的错误是“无法从扫描仪转换为字符串”,基本上是在说明我的问题是如何以最简单的方式实现我的想法。

【问题讨论】:

  • String getName = Charname.readLine();
  • 您的代码中有一些错误。访问修饰符 public 不能在方法变量上声明,或者在您的情况下,不能在方法中的方法上声明。此外,代码约定规定我们通常不使用大写字母来开始变量,就像您使用 Charname 所做的那样。
  • 嗨帕特里克,感谢您的回复和解释。我实际上并没有阅读编码约定,这是我现在将继续做的事情。 (我不认为这是我应该关心的事情,但是我的观点刚刚改变。谢谢。)

标签: java string variables


【解决方案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);

您不能将扫描仪对象直接分配给字符串引用。

【讨论】:

  • 这不仅给了我一个可行的解决方案,我想我至少掌握了如何更好地使用字符串。谢谢!
【解决方案2】:

您正在尝试将Charname(即Scanner)分配给String 你想要做的是将Charname.nextLine() 这是一个String 分配给你的变量

 Scanner Charname = new Scanner (System.in);
 System.out.print ("What is your name?");
 String getName = Charname.nextLine();
 System.out.print(getName);

【讨论】:

    【解决方案3】:

    欢迎来到 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();
    

    它的作用是将字符串的值设置为等于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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-07
      • 1970-01-01
      • 1970-01-01
      • 2021-10-03
      相关资源
      最近更新 更多