java - 如何将用户输入保存为类实例的名称?

标签 java class input

我正在尝试使用用户输入的字符串作为类实例的名称。在此示例中,我尝试使用用户输入来命名类实例 player1。但是,它不允许我这样做,因为当我将它设置为 players 类的实例时,已经定义了 player1

System.out.println("Enter your name, player1: ");
Scanner input = new Scanner(System.in);
//the user enters their name
String player1 = input.next();


players player1 = new players();

最佳答案

在不指出明显的变量名称的情况下,我将采用不同的方法进行回答。

也许您想获取一个输入并以面向对象编程的方式将其实际设置为玩家的名称。您显然有一个 player 类,那么为什么不在构造函数中加入一个 name 参数

public class Player {
    private String name;

    public Player(String name){
        this.name = name;
    }

    public String getName(){
        return name;
    }
}

然后当你得到输入时你就这样做

String playerName = input.nextLine();
Player player1 = new Player(playerName);

现在,当您创建多个 Player 时,他们每个人都会有一个不同的 name


您还应该遵循 Java 命名约定。类名以大写字母开头


更新

您需要为每个实例创建一个新的播放器

String playerName = input.nextLine();
Player player1 = new Player(playerName);

playerName = input.nextLine();
Player player2 = new Player(playerName);

playerName = input.nextLine();
Player player3 = new Player(playerName);

playerName = input.nextLine();
Player player4 = new Player(playerName);

关于java - 如何将用户输入保存为类实例的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20929402/

相关文章:

input - 检查输入字段是否为空或在 Cypress 测试中无法正常工作

c - 是否可以从给定索引开始在 C 中使用 getLine()?

当我尝试运行我的 jar 文件时,JavaFX 错误 : Could not find or load main class home. main with gradle (IntelliJ)

java - 递归泛型类定义和 "cannot be converted"编译错误

java - 从小部件类连接到数据库

javascript - 类变量在 JavaScript 中返回 undefined

c++ - 如何修改给定的类以使用 const 运算符

javascript - 为什么我不能在 JavaScript 中对 4 个变量进行加法运算,但可以对 3 个变量进行加法运算?

Java 线程屈服/饥饿问题

java - 如何在 tomcat 中设置 org.apache.tomcat.util.digester.EnvironmentPropertySource