面向对象 (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+"\n");
        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+"\n");
    }
}

二、成功界面截图

题目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("请输入一个字符串(该串至少由数字、大写字母和小写字母三种字符中的一种构成)\n");
        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("输入字符串不合格\n");
        }
        System.out.print("数字——共"+n.size()+"个,分别为"+n+"\n");
        System.out.print("小写字母——共"+l.size()+"个,分别为"+l+"\n");
        System.out.print("大写字母——共"+c.size()+"个,分别为"+c+"\n");
    }

}

二、成功界面截图

原文地址:https://www.cnblogs.com/wangxiangyue/p/11929639.html

时间: 2024-07-30 12:34:17

面向对象 (11)求交并集 判断字符形式的相关文章

ray与triangle/quad求交二三事

引擎中,ray与quad求交,算法未细看,但有求解二次方程,不解.ray与triangle求交,使用的是97年经典算法,仔细看过论文,多谢小武同学指点,用到了克拉默法则求解线性方程组.想模仿该方法,做ray与quad的求交,发现方程里不仅有u和v,还有uv,没法变换成线性方程组的形式.本以为引擎中quad中四个点可以不共面,看过接口,不然,“不共面和退化的多边形不保证正确结果“.而后又有两个问题,一是,与一个quad求交比与两个三角形求交快吗?二是,如果前面的问题答案为否,即两个三角形更快,为何

OpenCASCADE圆与平面求交

OpenCASCADE圆与平面求交 [email protected] 在 解析几何求交之圆与二次曲面中分析了OpenCASCADE提供的类IntAna_IntConicQuad可以用来计算圆与二次曲面之间的交点,这个算法是将平面Plane作为二次曲面的一个特例来处理,最后主要是对三角函数方程进行求解. 当直接使用圆和平面作为参数时,IntAna_IntConicQuad重载了函数Perform来对圆和平面进行求交计算,这时的算法与前面解三角函数不同,代码如下: void IntAna_IntC

1104: 零起点学算法11——求梯形面积

1104: 零起点学算法11--求梯形面积 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 6473  Accepted: 1875[Submit][Status][Web Board] Description 水题 Input 输入3个浮点数,分别表示上底.下底和高,中间用逗号隔开(题目包含多组数据) Output 输出梯形的面积,保留2位小数 Sample Input 2,4,5 Sample

[NetTopologySuite](2)任意多边形求交

任意多边形求交: private void btnPolygon_Click(object sender, EventArgs e) { double[] Xs = new double[] { 30, 260, 130, 350, 250, 330, 320, 180, 250, 50, 70, 60, 30, 260 }; double[] Ys = new double[] { 140, 260, 110, 150, 230, 210, 140, 260 }; int m = Xs.Len

Js判断字符的种类

Js判断字符的种类:unicode范围: 48-57:0-9    数字字符 65-90:A-Z    大写字母 97-122: a-z  小写字母 19968-40869:汉字 其他字符 实例:输出一句话中的 汉子.数字.英文字母.特殊字符的个数 <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title></ti

POJ1408-Fishnet(线段求交)

Fishnet Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 1788   Accepted: 1144 Description A fisherman named Etadokah awoke in a very small island. He could see calm, beautiful and blue sea around the island. The previous night he had enc

c# 判断字符是否是全角, 获取字符串的字节数 , 获取字符串指定长度字节数的字符串

1 Encoding.Default.GetByteCount(checkString);  =2 全角 =1 半角 /// <summary> /// 获取字符串的字节长度 /// </summary> /// <param name="str"></param> /// <returns></returns> public static int GetStringByteLength(this string s

c语言里面判断字符是否为汉字

这是跟汉字的存储方式有关,西文字符用ASCII码的话,一个字节可以表示一个字符,而汉字用的是双字节表示一个汉字.那么,为了在机器内部区分ASCII码和汉字机内码,就规定汉字的两个字节的最高为都为1.例如:汉字"啊"的汉字机内码为B0A1H表示成双字节是这样的10110000 10100001本程序用的就是判断最高位的方法.int is_zh_ch(char p){ if(~(p >> 8) == 0) 将p字节进行移位运算,右移8位,这样,如果移位后是0,则说明原来的字节最

【 C语言】将一个数字按字符形式逐个输出,例如1234,输出为1 2 3 4

//将一个数字按字符形式逐个输出,例如1234,输出为1 2 3 4 #include <stdio.h> void print_number(int a) { if (a >= 10) print_number(a / 10); printf("%d ", a % 10); } int main() { int a = 1234; print_number(a); printf("\n"); return 0; } 版权声明:本文为博主原创文章,