您的位置:首页 > 其它

输出9乘9乘法口诀表并实现0-9每个数字出现的次数并打印出来

2015-04-28 22:47 351 查看
输出99乘法口诀表

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

public class MultiplicationTable {
	
	public static void main(String[] args) {
		
		// 定义字符串缓存,用来存放乘积结果
		StringBuffer sb = new StringBuffer();
		
		// 输出乘法口诀表
        for (int i=1; i<=9; i++) {
            for (int j=1; j<=i; j++) {
            	
            	// 做对齐调整,从第二列开始,若结果长度为个位数,则在结果前面补空格
                if (j ==2 && String.valueOf(i*j).length() == 1) {
                    System.out.print(j + "*" + i + "= " + i*j + " ");
                    
                    // 将乘积存放在sb中
                    sb.append(i*j);
                } else {
                    System.out.print(j + "*" + i + "=" + i*j + " ");
                    sb.append(i*j);
                }
            }
            
            // 一行结束,进行换行操作
            System.out.println();
        }
        
        
        // 定义map,存放字符和其出现的次数
        Map<Character, Integer> map = new HashMap<Character, Integer>();
        String str = sb.toString();
        
        // 遍历str,将字符及其出现的次数存放入map
        for (int i=0; i<str.length(); i++) {
            Character num = str.charAt(i);
            if (null != map.get(num)) {
                map.put(num, map.get(num) + 1);
            } else {
                map.put(num, 1);
            }
        }
        
        // 获取entry结果集,并遍历输出
        Set<Entry<Character, Integer>> entrySet = map.entrySet();
        Iterator<Entry<Character, Integer>> it = entrySet.iterator();
        while (it.hasNext()) {
            Entry<Character, Integer> entry = it.next();
            System.out.println(entry.getKey() + " " + entry.getValue());
        }
	}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐