在java中有没有一种方法可以将引用名作为输入?

在java中有没有一种方法可以将引用名作为输入?,java,reference,user-input,Java,Reference,User Input,我一直在尝试为我自己和几个朋友建立一个Elo风格的排名系统,这样我们就可以一起跟踪我们在比赛中的表现。但是我在如何调用对玩家和游戏对象的引用以尽可能保持可读性方面遇到了一些问题。直观地说,对游戏的引用应该是游戏编号,对玩家的引用应该是玩家名称。然而,由于每场比赛的细节都会发生变化,我无法将这些东西硬连接到代码中。那么,有没有办法让对象引用用户输入 以下是我尝试过的一些让编译器对我大喊大叫的事情: Scanner input = new Scanner(System.in); Ga

我一直在尝试为我自己和几个朋友建立一个Elo风格的排名系统,这样我们就可以一起跟踪我们在比赛中的表现。但是我在如何调用对玩家和游戏对象的引用以尽可能保持可读性方面遇到了一些问题。直观地说,对游戏的引用应该是游戏编号,对玩家的引用应该是玩家名称。然而,由于每场比赛的细节都会发生变化,我无法将这些东西硬连接到代码中。那么,有没有办法让对象引用用户输入

以下是我尝试过的一些让编译器对我大喊大叫的事情:

    Scanner input = new Scanner(System.in);
    Game input.next() = new Game();  //doesn't work

    String playername;
    for(int i = 0; i < numberOfPlayers; ++i){
        System.out.print("Player name: ");
        playerName = input.next();
        Player playerName = new Player();  //compiler still isn't happy
    }

    //then there's also this-
    String playerName = input.next();
    Player /* ????? */ = new Player(Playername);
    //it seems like a good idea at first, but it doesn't solve the problem at all.
扫描仪输入=新扫描仪(System.in);
游戏输入。下一步()=新游戏()//不起作用
弦乐演奏者姓名;
for(int i=0;i
如果有一种方法可以完成我想做的事情,我不知道该怎么做。如果没有办法做到这一点,我该怎么称呼那些不是完全模糊/不可读的引用名的变量呢


编辑:此问题显然被标记为另一个问题的重复,该问题询问如何正确使用System.in和扫描仪进行各种操作,不包括参考名称。由于这个问题问的是一个完全不同的问题(这个问题主要是关于参考名称,而不是System.in或Scanner),我认为重复标记要么是一个有趣的问题,要么是对我的问题的误解。

也许地图数据结构会更好地为您服务。看看这段代码,看看它是否对您有帮助。您可以将标识符存储为密钥,将对游戏或玩家的引用存储为值。注意:如果输入同一个键两次,则重写其值

Scanner input = new Scanner(System.in);

HashMap<String, Game> games = new HashMap<String, Game>();
HashMap<String, Player> players = new HashMap<String, Player>();

games.put(input.next(), new Game());
players.put(input.next(), new Player());

//do something with game and player properties

System.out.println(games.get("game 1"));
System.out.println(players.get("john"));
扫描仪输入=新扫描仪(System.in);
HashMap games=新建HashMap();
HashMap players=newhashmap();
games.put(input.next(),newgame());
players.put(input.next(),newplayer());
//对游戏和玩家属性做些什么
System.out.println(games.get(“games 1”);
System.out.println(players.get(“约翰”));

谢谢,我将不得不稍微探讨一下,看看它是如何工作的。是的,这非常有效。给每个玩家分配一个id怎么样?(例如,将它们存储在文件中)为了持久性,我会将它们存储在文件中,但给每个数字标识正是我所说的不明确/不可读。我也不同意将其标记为重复,但不管怎样——很高兴你回答了你的问题:)