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

    题目1:

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

    源程序:ArrayListDott.java

    /*判断交集用了双重for循环,一旦两个串有相等的就输出
     * 判断并集利用HashSet类的唯一性去重,分别把两个表的内容添加到一个由HashSet类创建的对象中
     *HashSet类存储时会自动去重,这样就达到了求并集的目的
     * */
    package edu.ccut.fanxing;
    import java.util.*;
    public class ArrayListDott {
        public static void main(String[] args) {
            ArrayList<String> ary1 = new ArrayList<String>();
            ArrayList<String> ary2 = new ArrayList<String>();
            ary1.add("chen");
            ary1.add("wang");
            ary1.add("liu");
            ary1.add("zhang");
            ary2.add("chen");
            ary2.add("hu");
            ary2.add("zhang");
            int i,j;
            System.out.print("交集是:");
            for(i=0;i<ary1.size();i++) {//双重for循环判断交集
                for(j=0;j<ary2.size();j++) {
                    if(ary1.get(i)==ary2.get(j))//判断对应位置内容是否相等
                        System.out.print(ary1.get(i)+" ");//一旦相等就输出表1对应位置的内容
                }
            }
            System.out.println();
            HashSet<String> hs = new HashSet<String>();//利用哈希Set类的唯一性判断并集
            hs.addAll(ary1);//将ary1全部添加到hs中
            hs.addAll(ary2);//将ary2全部添加到hs中
            System.out.print("并集是:"+hs);//hs会自动去除两个表中重复的内容
        }
    }

    运行结果:

    题目2:

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

    源程序:Test.java

    /* 接收用户输入的字符串
     * 创建HashMap01类对象,调用hm.HashMap01()方法传递参数s1;
     * 输出相应类型的字符个数和内容
     * */
    package edu.ccut.mapl;
    import java.util.*;
    public class Test {
    
        public static void main(String[] args) {
            Scanner in = new Scanner(System.in);
            String s1 = in.nextLine();//接收用户输入的字符
            System.out.println("用户输入的字符串是: "+s1);
            HashMap01 hm = new HashMap01();//创建对象
            hm.HashMap01(s1);//调用方法并传参
            System.out.print("数字——共有: "+hm.n1+"个, 分别是: ");
            System.out.println(hm.t1);
            System.out.print("小写字母——共有: "+hm.n2+"个, 分别是: ");
            System.out.println(hm.t2);
            System.out.print("大写字母——共有: "+hm.n3+"个, 分别是: ");
            System.out.println(hm.t3);
        }
    }

    源程序:HashMap01.java

    /* 分别定三个下标标记n1,n2,n3(也代表每个类型有几个),用来对应创建的ArrayList表t1,t2,t3(用来存入各类型的值)
     * 创建HashMap对象ha1,创建一个字符数组k,用来存储用户输入的字符串,把字符串转化为字符数组
     * 然后通过字符数组K存到HashMap的对象ha1中
     * while循环对象ha1的内容,判断相应位置上的内容是数字,小写字母,还是大写字母
     * 判断后把对应类型的内容存入到相应的ArrayList表t1,t2,t3中,然后再把相应的标记n1,n2,n3自身+1
     * */
    package edu.ccut.mapl;
    import java.util.*;
    
    public class HashMap01 {
        int n1 = 0,n2 = 0,n3 = 0;//三个下标标记
        ArrayList<Character> t1 = new ArrayList<Character>();//存数字
        ArrayList<Character> t2 = new ArrayList<Character>();//存小写字母
        ArrayList<Character> t3 = new ArrayList<Character>();//存大写字母
        
        public void HashMap01(String s) {
            HashMap<Integer,Character> ha1 = new HashMap<Integer,Character>();
            char k[];//创建一个字符数组
            k = s.toCharArray();//把字符串转化为字符数组
            int i;
            for(i=0;i<s.length();i++) {//把用户输入的字符通过字符数组K存到HashMap的对象ha1中
                ha1.put(i,k[i]);
            }
            Set set = ha1.entrySet();
            Iterator io = set.iterator();
            while(io.hasNext()) {//while循环这个HashMap创建的ha1对象散列表
                Map.Entry ie = (Map.Entry)io.next();
                if((char)ie.getValue()>='0' && (char)ie.getValue()<='9') {//判断是不是数字
                    char p1 = (char) ie.getValue();//把数字存入p1中
                    t1.add(n1,p1);//在t1表中的n1位置上存入p1
                    n1++;//位置加1
                }
                else if((char)ie.getValue()>='a' && (char)ie.getValue()<='z') {//判断是不是小写字母
                    char p2 = (char) ie.getValue();//把值存入p2中
                    t2.add(n2,p2);//在t2表中的n2位置上存入p2
                    n2++;
                }
                else if((char)ie.getValue()>='A' && (char)ie.getValue()<='Z') {//判断是不是大写字母
                    char p3 = (char) ie.getValue();//把值存入p3中
                    t3.add(n3,p3);//在t3表中的n3位置上存入p3
                    n3++;
                }
           }
        }
    }

    运行结果:

  • 相关阅读:
    Async/await 和 Promises 区别
    javaScript 如何使用js追加字符串呢?
    JavaScript深入之继承的多种方式和优缺点
    在原生JavaScript中创建不可变对象
    websocket的用途/场景
    爬虫新宠requests_html 带你甄别2019虚假大学 #华为云·寻找黑马程序员#
    #华为云·寻找黑马程序员#微服务-你真的懂 Yaml 吗?
    #华为云·寻找黑马程序员#【代码重构之路】使用Pattern的正确姿势
    Python-Excel 模块哪家强 #华为云·寻找黑马程序员#
    多元算力加持,华为云鲲鹏大数据服务公测上线
  • 原文地址:https://www.cnblogs.com/zyg777/p/11959416.html
Copyright © 2011-2022 走看看