首页 > 技术文章 > 第13周作业集

gywx 2019-11-29 22:05 原文

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

源代码:

 1 package ruanjian;
 2 import java.util.*;
 3 public class TestMain {
 4     public static void main(String[] args) {
 5         ArrayList<String> array1=new ArrayList<String>(); //创建ArrayList对象
 6         array1.add("chen");
 7         array1.add("wang");
 8         array1.add("liu");
 9         array1.add("zhang");  //向array1中添加元素
10         ArrayList<String> array2=new ArrayList<String>();
11         array2.add("chen");
12         array2.add("hu");
13         array2.add("zhang");  //向array2中添加元素
14         ArrayList<String> jiaoji=new ArrayList<String>();  //创建并集对象
15         ArrayList<String> bingji=new ArrayList<String>(); //创建交集对象
16         System.out.println("两个线性表的并集:");
17         for(int j=0;j<3;j++)
18         {
19             if(array1.contains(array2.get(j))) //判断array1中是否包含array2中的元素
20             {
21                 bingji.add(array2.get(j));   //添加arra1中缺少的元素
22             }
23             else 
24                 continue;
25         }
26         System.out.println(bingji);
27         System.out.println("两个线性表的交集:");
28         jiaoji.addAll(array1);
29         for(int i=0;i<3;i++)
30         {
31             if(jiaoji.contains(array2.get(i))) //判断中是否包含array2中的元素
32             {
33                 continue;
34             }
35             else
36                 jiaoji.add(array2.get(i));
37         }
38         System.out.println(jiaoji);
39         
40     }
41 
42 }

运行截图:

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

源代码:

package ruanjian;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class sc {
   public static void main(String[] args) {
      int up=0,low=0,dig=0;  //变量用于统计字符个数
      Scanner reader=new Scanner(System.in);
      System.out.println("请输入一个字符串:(至少包括大写字母,小写字母和数字三种样式)");
      String s=reader.nextLine();  //输入字符串
      char c[]=s.toCharArray();    //将字符串转化为字符数组
      Map<String,Integer> map= new HashMap<String,Integer>();  //创建Map<k,v>对象
      map.put("小写字母",low);  //向HashMap内添加元素
      map.put("大写字母",up);
      map.put("数字字符",dig);
      StringBuffer str1 = new StringBuffer();
      StringBuffer str2 = new StringBuffer();
      StringBuffer str3 = new StringBuffer();
      for(int i=0;i<c.length;i++) {
              if(c[i]>='a'&&c[i]<='z') 
              {
                  low=map.get("小写字母");
                  str1.insert(low,c[i]);   //将满足条件的字符放入字符串中
                  map.put("小写字母", ++low);  //累加个数
              }
              if(c[i]>='A'&&c[i]<='Z')
              {
                  up=map.get("大写字母");
                  str2.insert(up,c[i]);
                  map.put("大写字母", ++up);
              }
              if(c[i]>='0'&&c[i]<='9')
              {
                  dig=map.get("数字字符");
                  str3.insert(dig,c[i]);
                  map.put("数字字符", ++dig);
              }
        }
        System.out.println("大写字母--"+map.get("大写字母")+"个,分别为:"+str1);
        System.out.println("小写字母--"+map.get("小写字母")+"个,分别为:"+str2);
        System.out.println("数字字符--"+map.get("数字字符")+"个,分别为:"+str3);
  }
}

运行截图:

推荐阅读