【发布时间】:2015-04-17 08:11:07
【问题描述】:
Java 新手,刚开始做地图,尝试了几天但成功有限,(代码中的 cmets)欢迎所有建议。理想情况下,我想从一个未填充的地图开始,纯粹用用户输入 playerName 填充它,并在输入每个名称时将整数值加一。希望这符合所有准则!
/**
* Constructor for objects of class player Creates player
* objects and tests for unique player name
*/
public player() {
Map<String, Integer> playerMap = new HashMap<>();
System.out.println("Players in game: " + playerMap.isEmpty());
playerMap.put("Fred", 1);
playerMap.put("Bob", 2);
playerMap.put("Alice", 3);
playerMap.put("Charlotte", 4);
playerMap.put("Catherine", 5);
System.out.println("Players in game: " + playerMap.size());
/**
* user input via dialogue to get another playerName String
* playerName set to Catherine for testing
*/
String playerName = "Catherine";
boolean existing = playerMap.containsValue(playerName);
System.out.println(existing);
if (existing = true) {
int playerNumber = 5;
/**
* user input via dialogue to get another playerName I need
* to set playerNumber = highest existing key in map then
* increment by one then add values to map loop until all
* players have been entered, I am considering while
* (playerName != "last"); playerNumber set to 5 for
* testing
*/
playerNumber = playerNumber++;
playerMap.put(playerName, playerNumber);
}
}
【问题讨论】:
-
if (existing = true)这是错误的。这不是您将变量与布尔值进行比较的方式。 -
那么究竟是什么问题?
标签: java string dictionary user-input