第13周作业集
题目1:
创建两个线性表,分别存储{“chen”,“wang”,“liu”,“zhang”}和{“chen”,“hu”,“zhang”},求这两个线性表的交集和并集。
代码
import java.util.ArrayList; import java.util.HashSet; import java.util.Set; public class test { /** * @param args */ public static void main(String[] args) { ArrayList<String> s1=new ArrayList<String>(); ArrayList<String> s3=new ArrayList<String>(); ArrayList<String> s4=new ArrayList<String>(); s1.add("chen"); s1.add("wang"); s1.add("liu"); s1.add("zhang"); ArrayList<String> s2=new ArrayList<String>(); s2.add("chen"); s2.add("hu"); s2.add("zhang"); s3.addAll(s1); s3.retainAll(s2); s4.addAll(s1); s4.addAll(s2); HashSet h = new HashSet(); // 利用HashSet查重 h.addAll(s4); System.out.println("线性表s1:"+s1); System.out.println("线性表s2:"+s2); System.out.println("两个线性表的交集为:"+s3); System.out.println("两个线性表的并集为:"+h); } }
结果
题目2:
编写一个应用程序,输入一个字符串,该串至少由数字、大写字母和小写字母三种字符中的一种构成,如“123”、“a23”、“56aD”、“DLd”、“wq”、“SSS”、“4NA20”,对输入内容进行分析,统计每一种字符的个数,并将该个数和每种字符分别输出显示。如:输入内容为“34Ah5yWj”,则输出结果为:数字——共3个,分别为3,4,5;小写字母——共3个,分别为h,y,j;大写字母——共2个,分别为A,W。
代码
import java.util.*; public class test { /** * @param args */ public static void main(String[] args) { Scanner reader=new Scanner(System.in); String str=reader.nextLine(); HashMap<String,String> map = new HashMap<String, String>(); char[] s = str.toCharArray(); int number = 0,xiao = 0,da = 0; for(int i=0;i<s.length;i++){ String c=Character.toString(s[i]); if (Character.isDigit(s[i])) { if(map.get("数字")==null){ map.put("数字", c); }else{ map.put("数字", map.get("数字")+","+c); } number++; } else if (s[i] >= 'A' && s[i] <= 'Z') { if(map.get("大写字母")==null){ map.put("大写字母", c); }else{ map.put("大写字母", map.get("大写字母")+","+c); } xiao++; } else if (s[i] >= 'a' && s[i] <= 'z') { if(map.get("小写字母")==null){ map.put("小写字母", c); }else{ map.put("小写字母", map.get("小写字母")+","+c); } da++; } } Set set = map.entrySet(); Iterator it = set.iterator(); while(it.hasNext()){ Map.Entry me = (Map.Entry)it.next(); System.out.print(me.getKey()); if(me.getKey().equals("数字")){ System.out.print("——共"+number+"个,"); }else if(me.getKey().equals("小写字母")){ System.out.print("——共"+xiao+"个,"); }else if(me.getKey().equals("大写字母")){ System.out.print("——共"+da+"个,"); } System.out.println("分别是:"+me.getValue()); } } }
结果
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现