zoukankan      html  css  js  c++  java
  • 第13周作业集

    题目1:创建两个线性表,分别存储{“chen”,“wang”,“liu”,“zhang”}和{“chen”,“hu”,“zhang”},求这两个线性表的交集和并集。

    package ccut.ch.thirteen.j;
    import java.util.*;
    public class Test1 {
    	public static void main(String[] args) {
    		ArrayList<String> a1= new ArrayList<String>();
    		a1.add("chen");
    		a1.add("wang");
    		a1.add("liu");
    		a1.add("zhang");			//向线性表a1中增加字符串
    		ArrayList<String> a2= new ArrayList<String>();
    		a2.add("chen");
    		a2.add("hu");		
    		a2.add("zhang");			//向线性表a2中增加字符串
    		ArrayList<String> b= new ArrayList<String>();
    		ArrayList<String> j= new ArrayList<String>();
    		b.addAll(a1);			//将a1中的所有元素加入到b中
    		for(int i=0;i<3;i++)
    		{
    			if(b.contains(a2.get(i)))   //判断b中是否包含a2的元素
    			j.add(a2.get(i));			//将相同的元素放到j中
    		}
    		System.out.println("交集:"+j);
    		for(int i=0;i<3;i++)
    		{
    			if(b.contains(a2.get(i)))	 //判断b中是否包含a2的元素
    				continue;				//包含就进行下一次循环
    			else
    			b.add(a2.get(i));			//不包含将元素加入到b中
    		}
    		System.out.println("并集:"+b);
    	}
    }
    

    运行结果

    题目2:编写一个应用程序,输入一个字符串,该串至少由数字、大写字母和小写字母三种字符中的一种构成,如“123”、“a23”、“56aD”、“DLd”、“wq”、“SSS”、“4NA20”,对输入内容进行分析,统计每一种字符的个数,并将该个数和每种字符分别输出显示。如:输入内容为“34Ah5yWj”,则输出结果为:数字——共3个,分别为3,4,5;小写字母——共3个,分别为h,y,j;大写字母——共2个,分别为A,W。

    package ccut.ch.thirteen.j;
    
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
    import java.util.Scanner;
    import java.util.Set;
    
    public class Test2 {
    	public static void main(String[] args) {
    		System.out.println("输入一个字符串,该串至少由数字、大写字母和小写字母三种字符中的一种构成:");
    		Scanner r = new Scanner(System.in);
    		String s = r.nextLine();         //将用户输入的内容赋给字符串s
    		char[] ch = s.toCharArray();     //定义一个字符数组存入数据
    		int temp1 = 0, temp2 = 0, temp3 = 0;   //定义计数器
    		HashMap<Integer, Character> hm1 = new HashMap<Integer, Character>();   //创建HashMap类对象hm1
    		for (int i = 0; i < ch.length; i++)
    			if (ch[i] >= 'A' && ch[i] <= 'Z') {
    				temp1++;
    				hm1.put(temp1, ch[i]);
    			}									//遍历字符数组,找数组中的数字,计数并往hm1里存数字
    		System.out.print("大写字母----共" + temp1 + "个," + "分别为" + " ");
    		Set set1 = hm1.entrySet();				//返回包含映射中项的集合
    		Iterator b2 = set1.iterator();			//迭代器遍历
    		while (b2.hasNext()) {					//显示元素
    			Map.Entry me1 = (Map.Entry) b2.next(); //Map.Entry可以操作映射的输入
    			System.out.print(me1.getValue());
    		}
    		System.out.println();
    		HashMap<Integer, Character> hm2 = new HashMap<Integer, Character>();//创建HashMap类对象hm2
    		for (int i = 0; i < ch.length; i++)
    			if (ch[i] >= 'a' && ch[i] <= 'z') {
    				temp2++;
    				hm2.put(temp2, ch[i]);
    			}									//遍历字符数组,找数组中的小写字母,计数并往hm2里存小写字母
    		System.out.print("小写字母----共" + temp2 + "个," + "分别为" + " ");
    		Set set2 = hm2.entrySet();				//返回包含映射中项的集合
    		Iterator b3 = set2.iterator();			//迭代器遍历
    		while (b3.hasNext()) {					//显示元素
    			Map.Entry me2 = (Map.Entry) b3.next();//Map.Entry可以操作映射的输入
    			System.out.print(me2.getValue());
    		}
    		System.out.println();
    		HashMap<Integer, Character> hm3 = new HashMap<Integer, Character>();//创建HashMap类对象hm3
    		for (int i = 0; i < ch.length; i++)
    			if (ch[i] >= '0' && ch[i] <= '9') {
    				temp3++;
    				hm3.put(temp3, ch[i]);
    			}									//遍历字符数组,找数组中的大写字母,计数并往hm3里存大写字母
    		System.out.print("数字----共" + temp3 + "个," + "分别为" + " ");
    		Set set = hm3.entrySet();				//返回包含映射中项的集合
    		Iterator b1 = set.iterator();			//迭代器遍历
    		while (b1.hasNext()) {					//显示元素
    			Map.Entry me = (Map.Entry) b1.next();//Map.Entry可以操作映射的输入
    			System.out.print(me.getValue());
    		}
    	}
    }
    

    运行结果

  • 相关阅读:
    js-快速选择日期区间
    关于状态更新时间字段取值的问题
    MySql 前缀索引
    Java springMVC 多数据源的实现和使用
    哈哈哈,终于找到一个安稳的“家”了
    POJ 1724: Roads
    POJ 1221: UNIMODAL PALINDROMIC DECOMPOSITIONS
    createjs 用户画线 粗细bug Graphics setStrokeStyle() 粗细BUG
    GAudio是一个音频播放SDK
    新做的一个基于OPENGL的gui库
  • 原文地址:https://www.cnblogs.com/ctt886/p/11962733.html
Copyright © 2011-2022 走看看