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

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

      代码:

    one类——一个主方法,四个对象

    /**
     * 创建了三个ArrayList对象——al:表示一号线性表;bl:表示二号线性表;cl:表示两个线性表的并集
     * 创建了一个HashSet对象——dl:表示两个线性表的交集;
     * 依次判断al和bl之间的元素是否一致,是,将元素放入cl;否,将元素放入dl
     */
    
    package cn.deu.ccut.ThirteenWeek;
    import java.util.*;
    public class one {
        public static void main(String[] args) {
            ArrayList al=new ArrayList();
            ArrayList bl=new ArrayList();
            ArrayList cl=new ArrayList();//两个线性表的交集对象
            HashSet dl=new HashSet();//两个线性表的并集对象
             al.add("chen");
             al.add("wang");
             al.add("liu");
             al.add("zhang");
             bl.add("chen");
             bl.add("hu");
             bl.add("zhang");
             System.out.println("一号线性表的内容为"+al);
             System.out.println("二号线性表的内容为"+bl);
             
             int a=al.size()<=bl.size()?bl.size():al.size();
             int b=al.size()<=bl.size()?al.size():bl.size();
             
             for(int i=0;i<a;i++) {
                 for(int p=0;p<b;p++) {
                      if(al.get(i)==bl.get(p)) {
                          cl.add(al.get(i));
                      }else {
                          dl.add(al.get(i));
                          dl.add(bl.get(p));
                      }
                 }
              }
                 System.out.println("两个线性表的交集为"+cl);
                 System.out.println("两个线性表的并集为"+dl);
        
             
            
        }
    }

    运行截图:

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

       代码:

    Two类:一个对象,一个主方法

    /**
    * 一个对象:TwoHashMap的对象th
    * 利用th调用TwoHashMap类的无参构造方法
    */
    package cn.deu.ccut.ThirteenWeek;
    import java.util.*;
    public class Two {
    
        public static void main(String[] args) {
            Scanner der=new Scanner(System.in);
            System.out.println("输入字符串");
            String st=der.nextLine();//键入字符串
            TwoHashMap th=new TwoHashMap();//创建TwoHashMap的对象th
            th.TwoHashMap(st);//调用TwoHashMap的无返回值构造方法,并传参数值
            
            System.out.println("数字——共"+th.num.size()+"个,分别为:"+th.num);
            System.out.println("小写字母——共"+th.al.size()+"个,分别为:"+th.al);
            System.out.println("大写字母——共"+th.Al.size()+"个,分别为:"+th.Al);
            }
            
        }
            
        

    TwoHashMap类:四个对象;一个无返回值构造方法

    /**
     * 一个HashMap类的对象——hm:存放字符串
     * 三个ArrayList类的对象——num:存放数字;
     *                      Al:存放大写字母;
     *                      al:存放小写字母
     * 
     */
    package cn.deu.ccut.ThirteenWeek;
    import java.util.*;
    
    public class TwoHashMap {
            HashMap hm=new HashMap();//存放字符串的对象hm
            ArrayList num=new ArrayList();//存放数字的对象num
            ArrayList Al=new ArrayList();//存放大写字母的对象Al
            ArrayList al=new ArrayList();//存放小写字母的对象al
            
            public void TwoHashMap(String st) {
            int i1=st.length();//将字符串st的元素数,赋给i1
            for(int i=0;i<i1;i++) {
                hm.put(i,st.charAt(i));//利用fou循环将字符串内的元素放入hm对象
            }
            
            Set set=hm.entrySet();//调用entrySet()方法返回hm的集合        
            Iterator i=set.iterator();
            while(i.hasNext()) {      //hasNext()判断集合i中有没有未遍历的元素
                Map.Entry me=(Map.Entry)i.next();//(Map.Entry)i.next(),将i集合中未遍历的下一项元素转化为Map.Entry,赋给 Map.Entry  me
                Object a=me.getValue();      //将me集合中选定的映射,其值赋给Object a;
                if((char)a>='0'&&(char)a<='9') {
                num.add(a);  //放入num对象中
                }else {
                    if((char)a>='a'&&(char)a<='z') {
                        al.add(a);
                        }else {
                            Al.add(a);
                        }
                    }
                }
        }
    }

    运行截图:

  • 相关阅读:
    DOS 批处理命令For循环命令详解
    怎样在电脑上下载哔哩哔哩的视频?
    华为事件启思:美国究竟有多少高科技公司?
    常用电子书下载收藏
    [置顶] 【玩转cocos2d-x之七】场景类CCScene和布景类CCLayer
    递归循环JSON
    POJ_1365_Prime_Land
    WIX在VS2012中如何制作中文安装包
    PKU Online Judge 1054:Cube (设置根节点)
    MFC——AfxParseURL用法
  • 原文地址:https://www.cnblogs.com/sunshuaiqun/p/11961702.html
Copyright © 2011-2022 走看看