在HashMap中键入一一对应的数值和字符,在main中接收键盘键入的数值,对应输出字符。java初学者对HashMap的认识和学习(浙江大学翁老师MOOC网 -- java面向对象程序设计 -- )

**因为一直对HashMap的只是不很了解,所以在网上找学习视频的时候,看到翁凯教授的视频讲得清晰透彻,所以把视频中的代码照录在此,并加上了自己对代码的理解和注释。	希望对类似于我这样的初学者有帮助。
废话不多说,上代码:**
package cn.kgc2;

import java.util.HashMap;
import java.util.Scanner;

/**
 * HashMap的认识和练习  
 * @author Stean
 * 
 */

public class Coin {
    //HashMap的表达式Integer是int的包裹型
    private HashMap<Integer,String> coinnames = new HashMap<Integer,String>();
    
   //这是一个构造器  
    public Coin (){
        coinnames.put(1, "penny");
        coinnames.put(10, "dime");
        coinnames.put(25, "quarter");
        coinnames.put(50, "half-dollar");
        
        //如果在同一位置输入另一个值,那么只会存在最终输入的值
        coinnames.put(50, "五毛");
        
        //输出HashMap里面总共有多少个值
        System.out.println("===================================:" );
        System.out.println(coinnames.keySet().size());
        System.out.println("===================================:" );
        //和ArrayList和HashSet一样 ,可以直接输出
        System.out.println(coinnames);
        System.out.println("===================================:" );
      //当然也可以遍历直接输出
        for(Integer k:coinnames.keySet())
        {
            String s = coinnames.get(k);
            System.out.println(s);
        }
    }
    
    public String getName(int amount) {
        //查找之前,先知道输入的值在不在HashMap之中,如果不在,就返回一个提示
        if(coinnames.containsKey(amount))
        {
            //得到输入数字对应的string类型的值
            return coinnames.get(amount); 
        }else
        {
            return "NOT FOUND!!!!!!!";
        }
    }
    
    
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("请输入你想查找的值所对应的数字:");
        int amount = in.nextInt();
        
        //创建对象
        Coin coin = new Coin ();
        
        System.out.println("===================================:" );
        //得到键盘数的数字,然后交给name输出对应的String的值
        String name = coin.getName(amount);
        System.out.println("输入的值在HashMap中对应的是:" + name);
    }
}

最终的输出结果是:
我输入的是25,对应输出的就是在HashMap中对应的quarter。如果我输入的不是HashMap中的值,比如我输入20,,就会输出一个"NOT FOUND!!!"。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值