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

ne5o7dgx  于 2023-02-07  发布在  Java
关注(0)|答案(2)|浏览(109)

我尝试使用用户输入的字符串作为类示例的名称。在这个例子中,我尝试使用用户输入来命名类示例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();
j8ag8udp

j8ag8udp1#

在不指出变量名的明显性的情况下,我将采用不同的方法来回答。
也许你想用OOP的方式把一个输入设置为player的名字,你显然有一个类player,那么为什么不在构造函数中引入一个参数

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);
jutyujz0

jutyujz02#

基本上你要做的就是选择一个有意义的变量名,就像代数一样,你不用函数的输入作为变量名,但是你要把输入作为给定变量名的替代。
您可以为player1选择一个更有意义的名称。也许如果您希望用户输入的是一个球员的名字,那么player1作为一个字符串应该重命名为playerName,然后players player1 = new players();可以保留。
这是不典型的,通常表明设计很差,期望用户输入一些东西并定义一个变量名。

相关问题