• 第13周作业集


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

    源代码:zuoye.java

    import java.awt.List;
    import java.util.ArrayList;
    
    public class zuoye {
    public static void main(String[] args){
        ArrayList<String> a1=new ArrayList<String>();
        a1.add("chen");
        a1.add("wang");
        a1.add("liu");
        a1.add("zhang");
        ArrayList<String> a2=new ArrayList<String>();
        a2.add("chen");
        a2.add("hu");
        a2.add("zhang");
        ArrayList<String> b1=new ArrayList<String>(a1);
        ArrayList<String> b2=new ArrayList<String>(a2);
        b1.removeAll(b2);//取并集,b1中移除与b2相同的部分
        b2.addAll(b1);//把移除后的b1添加到b2中
        System.out.println("并集为:"+b2);//输出b2
        ArrayList<String> c1=new ArrayList<String>(a1);
        ArrayList<String> c2=new ArrayList<String>(a2);
        c1.retainAll(c2);//取交集,c1中保留和c2相同的部分
        System.out.println("交集为:"+c1);//输出c1
        
    }
    }

    运行结果:

     题目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 zuoye {
    public static void main(String[] args){
        
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入一个字符串:");
        String s=scanner.next();
        char c[]=s.toCharArray();
        int Upper=0;
        int Lower=0;
        int Digital=0;
        
         Map<String,Integer> map= new HashMap<String,Integer>(); 
         map.put("小写字母",Lower);  
         map.put("大写字母",Upper);
         map.put("数字",Digital);
         
         StringBuffer a1 = new StringBuffer();
         StringBuffer a2 = new StringBuffer();
         StringBuffer a3 = new StringBuffer();
         
         for(int i=0;i<c.length;i++) {
                 if(c[i]>='a'&&c[i]<='z') 
                 {
                     Lower=map.get("小写字母");
                     a1.insert(Lower,c[i]);   
                     map.put("小写字母", ++Lower); 
                 }
                 if(c[i]>='A'&&c[i]<='Z')
                 {
                     Upper=map.get("大写字母");
                     a2.insert(Upper,c[i]);
                     map.put("大写字母", ++Upper);
                 }
                 if(c[i]>='0'&&c[i]<='9')
                 {
                     Digital=map.get("数字");
                     a3.insert(Digital,c[i]);
                     map.put("数字", ++Digital);
                 }
           }
         
           System.out.println("小写字母共——"+Lower+"个,分别为:"+a1);
           System.out.println("大写字母共——"+Upper+"个,分别为:"+a2);
           System.out.println("数字共——"+Digital+"个,分别为:"+a3);
     }
    }

    运行结果:

  • 相关阅读:
    Leetcode 191.位1的个数 By Python
    反向传播的推导
    Leetcode 268.缺失数字 By Python
    Leetcode 326.3的幂 By Python
    Leetcode 28.实现strStr() By Python
    Leetcode 7.反转整数 By Python
    Leetcode 125.验证回文串 By Python
    Leetcode 1.两数之和 By Python
    Hdoj 1008.Elevator 题解
    TZOJ 车辆拥挤相互往里走
  • 原文地址:https://www.cnblogs.com/GXTSTAY/p/11965629.html
Copyright © 2020-2023  润新知