面向对象 (11)求交并集 判断字符形式

Posted wangxiangyue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象 (11)求交并集 判断字符形式相关的知识,希望对你有一定的参考价值。

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

一、源程序

/**两个线性表{“chen”,“wang”,“liu”,“zhang”}和{“chen”,“hu”,“zhang”}的交集和并集
 * 1个方法
 */
package cn.edu.ccut.w1125t1;
import java.util.ArrayList;
public class Main {
    public static void main(String[] args) {
        ArrayList s1 = new ArrayList();//创建两个线性表
        ArrayList s2 = new ArrayList();
        s1.add("chen");//储值
        s1.add("wang");
        s1.add("liu");
        s1.add("zhang");
        s2.add("chen");
        s2.add("hu");
        s2.add("zhang");
        ArrayList B = new ArrayList();//创建存储并集线性表B
        B.addAll(s1);//存入s1全部元素
        int i;//循环变量i
        for(i=0;i<3;i++){//遍历s2线性表
            if(B.contains(s2.get(i))){//已有则向下遍历
                continue;
            }else{//无则添加
                B.add(s2.get(i));
            }
        }
        System.out.print("交集是"+B+"
");
        ArrayList J = new ArrayList();//创建存储交集线性表J
        for(i=0;i<3;i++){//遍历s2线性表
            if(s1.contains(s2.get(i))){//共有则添加
                J.add(s2.get(i));
            }else{
                continue;
            }
        }
        System.out.print("并集是"+J+"
");
    }
}

二、成功界面截图

技术图片

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

一、源程序

/**输入一个字符串分析统计每一种字符的个数,并将该个数和每种字符分别输出显示。
 * 1个方法
 */
package cn.edu.ccut.w1125t2;
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        System.out.print("请输入一个字符串(该串至少由数字、大写字母和小写字母三种字符中的一种构成)
");
        Scanner reader = new Scanner(System.in);
        String s = reader.nextLine();//存串
        String format = "\\w+";//定义正则
        String number = "\\d";
        String lower = "[a-z]";
        String capital = "[A-Z]";
        ArrayList n = new ArrayList();//定义列表存数字
        ArrayList l = new ArrayList();//定义列表存小写字母
        ArrayList c = new ArrayList();//定义列表存大写字母
        if(s.matches(format)){//判断是否至少由数字、大写字母和小写字母三种字符中的一种构成
            for(int i=0;i<s.length();i++){//遍历串判断字符形式
                String word = s.substring(i, i+1);//截取当前字符进行判断
                if(word.matches(number)){
                    n.add(word);//存入列表
                }
                if(word.matches(lower)){
                    l.add(word);
                }                
                if(word.matches(capital)){
                    c.add(word);
                }
            }            
        }else{
            System.out.print("输入字符串不合格
");
        }
        System.out.print("数字——共"+n.size()+"个,分别为"+n+"
");
        System.out.print("小写字母——共"+l.size()+"个,分别为"+l+"
");
        System.out.print("大写字母——共"+c.size()+"个,分别为"+c+"
");
    }

}

二、成功界面截图

技术图片

以上是关于面向对象 (11)求交并集 判断字符形式的主要内容,如果未能解决你的问题,请参考以下文章

js 对象数组的交集补集和并集

MD5交并集

python面向对象的反射

如何计算交并比IoU | 含图片说明和伪代码实现

第二十七节,IOU和非极大值抑制

使用Python计算四边形与拟合四边形的最大交并比IOU