输出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()); } } }
时间: 2024-12-28 13:13:47