当前位置: 首页 > wzjs >正文

南京企业建站系统模板东莞全网营销推广

南京企业建站系统模板,东莞全网营销推广,百度地图怎么使用实景导航,天津河西做网站一、统计字符串中字符出现的频率(忽略大小写)‌ ‌需求: 1. 从控制台读取一个字符串(可能包含字母、数字、符号和空格)。 2. 统计每个字母(a-z)出现的次数‌,不区分大小写&#xff0…

一、统计字符串中字符出现的频率(忽略大小写)‌

‌需求:
1. 从控制台读取一个字符串(可能包含字母、数字、符号和空格)。
2. 统计每个字母(a-z)出现的次数‌,不区分大小写(例如 'A' 和 'a' 视为同一个字符)。
3. 排除非字母字符‌(如数字、符号、空格等)。
4. 将统计结果按‌字母顺序升序排列‌,并输出每个字符及其出现次数(格式如 a:3)。输入:

  输出:

代码:

public class CharacterFrequencyCounter2 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入一串字符串:");String input = scanner.nextLine();
//        scanner.close();// 使用TreeMap来按键的自然顺序(字母顺序)排序Map<Character, Integer> frequencyMap = new TreeMap<>();// 统计每个字母字符的出现次数,忽略大小写// 遍历字符串中的每个字符,如果是字母则统计其出现次数for (char c : input.toCharArray()) {// 将字符转换为小写,以便忽略大小写差异char lowerC = Character.toLowerCase(c);// 检查字符是否为字母,如果是则统计其出现次数if (Character.isLetter(lowerC)) {// 使用TreeMap来按键的自然顺序(字母顺序)排序,并统计出现次数frequencyMap.put(lowerC, frequencyMap.getOrDefault(lowerC, 0) + 1);}}// 输出结果System.out.println("字符及其出现次数(按字母顺序升序):");for (Map.Entry<Character, Integer> entry : frequencyMap.entrySet()) {System.out.println(entry.getKey() + ": " + entry.getValue());}}
}

 

说明:getOrDefault()方法

   getOrDefault 是 Java 中 Map 接口的一种方法,用于从映射中获取指定键的值。如果该键存在于映射中,则返回对应的值;如果该键不存在,则返回一个默认值。

源码

如下:

        Map<String, Integer> map = new HashMap<>();map.put("A", 1);map.put("B", 2);// 获取存在的键的值int valueA = map.getOrDefault("A", 0); // 返回 1System.out.println("Value for key 'A': " + valueA);// 获取不存在的键的值,返回默认值int valueC = map.getOrDefault("C", 0); // 返回 0System.out.println("Value for key 'C': " + valueC);

二、 实现奥运会举办信息

需求:

1、定义数据结构:使用一个Map来存储年份和城市的映射关系。2、读取年份并查询城市:输入年份,查询对应的举办城市,并输出结果。3、读取城市并查询年份列表:输入城市名,查询该城市举办奥运会的所有年份,并输出结果。

代码:

public class OlympicInfo {// map存储奥运会举办年份和城市信息private Map<String, String> olympicCityMap = new HashMap<>();// 初始化奥运会举办信息public OlympicInfo() {olympicCityMap.put("1896", "雅典");olympicCityMap.put("1900", "巴黎");olympicCityMap.put("1904", "圣路易斯");olympicCityMap.put("1908", "伦敦");olympicCityMap.put("1912", "斯德哥尔摩");olympicCityMap.put("1920", "北京");olympicCityMap.put("2000", "悉尼");olympicCityMap.put("2004", "雅典");olympicCityMap.put("2008", "北京");olympicCityMap.put("2012", "伦敦");olympicCityMap.put("2016", "里约热内卢");olympicCityMap.put("2020", "东京");olympicCityMap.put("2024", "巴黎");// 继续添加其他年份和举办城市}// 根据年份查询举办城市public String getCityByYear(String year) {return olympicCityMap.get(year);}// 根据城市名查询举办年份列表public Set<String> getYearsByCity(String city) {return olympicCityMap.entrySet().stream().filter(entry -> entry.getValue().equals(city)).map(Map.Entry::getKey).collect(Collectors.toSet());}// 菜单功能public void interactWithUser() {Scanner scanner = new Scanner(System.in);boolean continueInteraction = true;while (continueInteraction) {System.out.println("请选择操作:");System.out.println("1. 输入年份查询奥运会举办城市");System.out.println("2. 输入城市名查询举办奥运会的年份列表");System.out.println("3. 退出");int choice = scanner.nextInt();scanner.nextLine(); // 消耗换行符switch (choice) {case 1:System.out.print("请输入年份:");String year = scanner.nextLine();String city = getCityByYear(year);if (city != null) {System.out.println("该年的奥运会举办城市是:" + city);} else {System.out.println("没有举办奥运会");}break;case 2:System.out.print("请输入城市名:");String cityName = scanner.nextLine();Set<String> years = getYearsByCity(cityName);if (!years.isEmpty()) {System.out.println(cityName + "举办奥运会的年份列表:" + String.join(" ", years));} else {System.out.println(cityName + "没有举办过奥运会");}break;case 3:continueInteraction = false;System.out.println("退出程序");break;default:System.out.println("无效的选择,请重新输入");}}scanner.close();}public static void main(String[] args) {OlympicInfo olympicInfo = new OlympicInfo();olympicInfo.interactWithUser();}
}

说明:从 olympicCityMap 中查找所有与给定城市名 city 相关的年份,并将这些年份以 Set 的形式返回。使用 Set 的好处是可以自动去重,确保每个年份只出现一次。 

代码分解

  1. olympicCityMap.entrySet():

    获取 olympicCityMap 中所有的键值对(Map.Entry 对象)的集合。
  2. .stream():

    将集合转换为一个流(Stream),以便可以使用流操作(如过滤、映射等)
  3. .filter(entry -> entry.getValue().equals(city)):使用 filter 方法来筛选流中的元素。这里的 entryMap.Entry 对象,entry.getValue() 返回与该条目关联的城市名。只有当城市名与给定的 city 变量相等时,该条目才会被保留在流中。
  4. .map(Map.Entry::getKey):

    使用 map 方法将流中的每个 Map.Entry 对象转换为其键(年份)。Map.Entry::getKey 是方法引用,表示调用 getKey() 方法。
  5. .collect(Collectors.toSet()):

    将流中的元素收集到一个 Set 中。Collectors.toSet() 是一个收集器,用于将流的结果收集到一个集合中。

 运行如下:

 


文章转载自:

http://VfPySdUV.jqpyq.cn
http://gXLyOYC8.jqpyq.cn
http://gFIvCwWT.jqpyq.cn
http://np1Wpboi.jqpyq.cn
http://lSuuxJ52.jqpyq.cn
http://UcNZ7c0u.jqpyq.cn
http://xwU9UQNV.jqpyq.cn
http://37veqhzy.jqpyq.cn
http://TwCb8FRy.jqpyq.cn
http://O7DUhwPN.jqpyq.cn
http://CDSBa90m.jqpyq.cn
http://a0L6aKCi.jqpyq.cn
http://2WM7VgiO.jqpyq.cn
http://Jq58dUJj.jqpyq.cn
http://zF31OLeU.jqpyq.cn
http://U6sVzVsc.jqpyq.cn
http://Y0w0hJf2.jqpyq.cn
http://k3SUTBuk.jqpyq.cn
http://V4zul00v.jqpyq.cn
http://zPT0MDnq.jqpyq.cn
http://RgM3rAWB.jqpyq.cn
http://33ZqmZGC.jqpyq.cn
http://ImkrcmxR.jqpyq.cn
http://RXrSXZiO.jqpyq.cn
http://WiNAUROB.jqpyq.cn
http://fs3pF2QE.jqpyq.cn
http://JaombPfa.jqpyq.cn
http://0DbEtVGm.jqpyq.cn
http://asM01PtE.jqpyq.cn
http://Ktl9zOQs.jqpyq.cn
http://www.dtcms.com/wzjs/727694.html

相关文章:

  • 深圳的网站建设公司价格wordpress网页打开很慢
  • 手机网站免费的如何做网站出单
  • 网站建设维护专员吉林省吉林市舒兰市
  • 网站群建设模板迁移原站迁移pc如何做好网站开发项目需求分析
  • 网站建设好公司好哈尔滨商城网站建设
  • 微商网站建设中文域名注册机构
  • 管网建设方案性能优化工具
  • 自己创业做网站上海定制网站建设公司
  • 网站设计任务书成都网站建设 木木科技
  • 营销型网站名词解释注册规划师好考吗
  • 上海做网站吧网络营销做得比较成功的企业
  • 大公司的网站都找谁设计百度数据
  • 网站开发团队宁海哪里有做网站的
  • 想做一个网站如何制作一个网址
  • 如何完整保存网站并做修改如何做登录网站
  • 菲律宾做网站好吗石台做网站
  • 内蒙古网站建设百度响应式自适应网站模板
  • 携程旅游电子商务网站策划书产品设计方案3000字
  • 东川网站制作多商户系统
  • 西安网站建设开发制作做网站设计的平台
  • app网站开发招聘十大免费跨境软件
  • 临沂网站设计价格教育网站制作下载
  • 新增接入 新增网站wordpress语言更换
  • 宁国市城乡与住房建设网站光谷做网站推广价格
  • 美食分享网站建设策划书WordPress邀请码功能
  • 响应式网站建设价格pageadmin做的网站的域名必须要备案吗
  • 百度网站适配代码网站域名属于哪里管
  • 杂志网站建设WordPress怎么安装不了
  • iis服务器的默认网站四川网站建设设计公司
  • 建站系统软件有哪些网页游戏奥奇传说