public class HashMapTest2 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
Map<String,String> player = new HashMap<>();
System.out.println("Enter number of Players");
Integer p = Integer.valueOf(s.nextLine());
System.out.println("Enter number of Teams");
Integer t = Integer.valueOf(s.nextLine());
List<String> listp = new ArrayList<>();
for (int i = 0; i<p; i++){
System.out.println("Enter Player name "+i);
listp.add(s.nextLine());
}
List<String> listt = new ArrayList<>();
for (int i = 0; i<t; i++){
System.out.println("Enter Team name "+i);
listt.add(s.nextLine());
}
for (String str1 : listp){
for (String str2 : listt){
player.put(str1,str2);
}
}
System.out.println("---------------");
System.out.println(player);
}
}
我想将玩家名称分配为键,将球队名称分配为值... 好像我没有得到正确。 我尝试使用for-each循环,但它为每个循环都赋予了相同的价值...
答案 0 :(得分:0)
采取以下假设-
如果上述假设正确,您可以尝试以下代码-
public class HashMapTest2 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
Map<String,String> player = new HashMap<>();
System.out.println("Enter number of Players");
Integer p = Integer.valueOf(s.nextLine());
System.out.println("Enter number of Teams");
Integer t = Integer.valueOf(s.nextLine());
List<String> listp = new ArrayList<>();
for (int i = 0; i<p; i++){
System.out.println("Enter Player name "+i);
listp.add(s.nextLine());
}
List<String> listt = new ArrayList<>();
for (int i = 0; i<t; i++){
System.out.println("Enter Team name "+i);
listt.add(s.nextLine());
}
for(int i=0;i<listp.size();i++) {
player.put(listp.get(i), listt.get(i));
}
System.out.println("---------------");
System.out.println(player);
}
}