JAVA练习----Map

it2025-03-01  23

1.用map统计字符串中各种字符的出现次数

import java.util.HashMap; import java.util.Map; import java.util.Scanner; public class homework3 { public static void main(String[] args) { System.out.println("请输入字符串:"); Scanner sc = new Scanner(System.in); String chuan = sc.nextLine(); countingKey(chuan); } //判断字母、数字、空格、其他各出现了多少次 public static void countingKey(String a){ Map<String,Integer> countmap= new HashMap(); for (int i = 0; i < a.length(); i++) { if((a.charAt(i)<=90&&a.charAt(i)>=65)||(a.charAt(i)>=97&&a.charAt(i)<=122)){ //若是字母 if(countmap.get("字母")==null){ countmap.put("字母",1); } else{ countmap.put("字母",countmap.get("字母")+1); //若不是第一次出现,次数+1次值存入map,覆盖已有的map值 } } else if((a.charAt(i)<=57&&a.charAt(i)>=48)){ //若是数字 if(countmap.get("数字")==null){ countmap.put("数字",1); } else{ countmap.put("数字",countmap.get("数字")+1); //若不是第一次出现,次数+1次值存入map,覆盖已有的map值 } } else if(a.charAt(i)==' '){ //若是空格 if(countmap.get("空格")==null){ countmap.put("空格",1); } else{ countmap.put("空格",countmap.get("空格")+1); //若不是第一次出现,次数+1次值存入map,覆盖已有的map值 } } else{ if(countmap.get("其他")==null){ countmap.put("其他",1); } else{ countmap.put("其他",countmap.get("其他")+1); //若不是第一次出现,次数+1次值存入map,覆盖已有的map值 } } } System.out.println(countmap); } }

2.随机生成各种水果的编号(不重复),通过编号查询水果

import java.util.*; class fruit{ public String id; public String name; private static Set<String> storage = new HashSet<>() ; //存储已有的水果序列号 public fruit(String name){ this.name = name; String tempid = generateId(); Boolean flag = true; if(storage.isEmpty()){ flag = false; } while(flag){ flag = false; //修改flag为false,若序列号不重复直接跳出循环 for (String s : storage) { if (tempid == s) { flag = true;//该序列号已存在,继续循环 tempid = generateId();//更新tempid值 break; } } } storage.add(tempid); this.id = tempid; } private String generateId(){ Random rand = new Random(); String tempid=""; for (int i = 0; i < 8; i++) { String s =String.valueOf(rand.nextInt(9)); tempid+=s; } return tempid; } } public class homework4 { public static void main(String[] args) { fruit xigua = new fruit("西瓜"); fruit juzi = new fruit("橘子"); fruit xiangjiao = new fruit("香蕉"); fruit pingguo = new fruit("苹果"); Map<String,fruit> m = new HashMap<>(); m.put(xigua.id,xigua); m.put(juzi.id,juzi); m.put(xiangjiao.id, xiangjiao); m.put(pingguo.id, pingguo); System.out.println(m); System.out.println("请输入想查询的水果"); Scanner sc = new Scanner(System.in); String id = sc.nextLine(); if(m.get(id)!=null){ System.out.println("您想要的水果是:"+m.get(id).name); } else{ System.out.println("不存在此水果"); } } }
最新回复(0)