如何使用扫描仪从用户获取Hashmap的输入并打印相应的散列图
import java.util.HashMap;
public class Map {
public static void main(String[] args) {
// TODO Auto-generated method stub
HashMap <Integer,Integer> hmap = new HashMap<Integer,Integer>();
Scanner in = new Scanner(System.in);
for(int i=0;i<3;i++){
Integer a=in.nextInt();
Integer b=in.nextInt();
hmap.put(a, b);
System.out.println(hmap.put(a,b));
}
}
}
我没有得到所需的输出。我想打印hmap
中插入的内容。
答案 0 :(得分:0)
将您的System.out.println
声明更改为
System.out.println(hmap.get(a));
答案 1 :(得分:0)
您对此有何看法?这是错的,为什么要打印hmap.put(a,b)
System.out.println(hmap.put(a,b));
将其从for循环中取出并单独打印
for (Map.Entry<Integer, Integer> pair: hmap.entrySet()) {
System.out.println(pair.getKey() + "->" + pair.getValue());
}
答案 2 :(得分:0)
可以找到HashMap util的Javadoc here。
要将键/值对添加到HashMap,请使用hashmap.put(x, y)
。
稍后使用hashmap.get(x)
将返回y。
编辑:从其他评论看起来,您试图让它打印出键和值。在您尝试打印所有键和值的情况下,这样的事情可能会起作用。
hashMap.forEach((e, k) -> {
System.out.println("E: " + e + " K: " + k);
})
如果这不是您的预期目的,我强烈建议您阅读javadocs的方法摘要部分。
答案 3 :(得分:0)
这是我们可以在运行时将数据插入Hashmap
中的另一种方式:
import java.util.*;
public class Maap {
public static void main(String[] args) {
HashMap <Integer,String> hmap = new HashMap<Integer,String>();
Scanner in = new Scanner(System.in);
for(int i=0;i<3;i++){
Integer a=in.nextInt();
String b=in.next();
hmap.put(a,b);
// System.out.println(hmap.get(b)+" "+hmap.get(a));
}
for(Map.Entry m:hmap.entrySet()) {
System.out.println(m.getKey()+" "+m.getValue());
}
}
}
答案 4 :(得分:0)
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
class Call {
public static void main(String[] as) {
getData();
}
public static void getData() {
Map<Integer, String> hashmap = new HashMap<>();
Scanner sc = new Scanner(System.in);
System.out.print("Shashank Pathak\nEnter number of character: ");
int n = sc.nextInt();
int[] a = new int[n];
for (int i = 0; i < a.length; i++) {
Integer b = sc.nextInt();
String c = sc.nextLine();
hashmap.put(b, c);
}
for (Map.Entry<Integer, String> mp : hashmap.entrySet()) {
System.out.println("\n" + mp.getKey() + " " + mp.getValue());
}
}
}
答案 5 :(得分:0)
我找到了这个,和我想要的完全一样。
System.out.println("How many producs you want");
int listOfItem = sc.nextInt();
System.out.println("Type the product name and quantity you want to purchace and get the bill");
HashMap<Integer, String> products = new HashMap<>();
while(listOfItem-- >0){
products.put(sc.nextInt(),sc.nextLine());
}
System.out.println(products);