7-1 sdust-Java-字符串集合求并集 (20 分)
7-1 sdust-Java-字符串集合求并集 (20 分)
从键盘接收N个英文字符串(其中不同的字符串数量大于10),从头开始取5个不同的字符串放入一个集合S1,然后接着取5个不同的字符串放入另一个集合S2,按照字母顺序输出S1和S2的并集中的每个字符串(字符串区分大小写)
输入格式:
一行以空格分开的英文字符串(不同的字符串数量大于10)。
输出格式:
按照字母顺序(先比较字符串首字母,首字母相同的比较字符串第二个字母,以此类推)输出的S1和S2并集的字符串。
输入样例:
android python java javaee javase database java jsp servlet java algorithm junit
输出样例:
algorithm
android
database
java
javaee
javase
jsp
python
servlet
用java容器实现(在某TA提交后台看到的zaf大佬的代码,记录以供学习):
//package main;
import java.util.*;
public class Main {public static void main(String[] args) {String[] s = new String[15];Scanner sc = new Scanner(System.in);TreeSet<String> a = new TreeSet<String>();TreeSet<String> b = new TreeSet<String>();String ss = sc.nextLine(); for(String i:ss.split(" ")){if(a.size() < 5){a.add(i);continue;}if(b.size() < 5){b.add(i);continue;}}a.addAll(b);for(String i:a){System.out.println(i);}sc.close();}
}
不会用java容器可以慢慢学,java容器总结了很多实用的方法。
以下是我的提交代码,适合会用c++并初学java的同学看,当然也有java的一些基本语法。
//package y;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner cin = new Scanner(System.in);String str;int n1 = 0, n2 = 0;String[] ans = new String[10];String[] bns = new String[10];while(cin.hasNext()){str = cin.next();if(n1 < 5){int flag = 1;for(int i=0; i<n1; i++){if(str.compareTo(ans[i]) == 0) {flag = 0;break;}}if(flag == 1) {ans[n1++] = str;}} else if(n2 < 5) {int flag = 1;for(int i=0; i<n2; i++){if(str.compareTo(bns[i]) == 0) {flag = 0;break;}}if(flag == 1) {bns[n2++] = str;}}}String[] cns = new String[15];for(int i=0; i<n1; i++){cns[i] = ans[i];}int counts = 5;for(int i=0; i<n2; i++){int flag = 1;for(int j=0; j<n1; j++){if(bns[i].compareTo(ans[j]) == 0) {flag = 0;break;}}if(flag == 1) cns[counts++] = bns[i]; }for(int i=0; i<counts-1; i++){for(int j=i+1; j<counts; j++){if(cns[i].compareTo(cns[j]) > 0){String s = cns[i];cns[i] = cns[j];cns[j] = s;}}}for(int i=0; i<counts; i++){System.out.println(cns[i]);}}
}
这其实就是c++代码翻译成了java代码,上述两个代码逻辑上是一致的,但用java写就会很方便,体现了java简洁明了的特点。
7-1 sdust-Java-字符串集合求并集 (20 分)相关推荐
- 7-4 sdust-Java-字符串集合求并集 (20分)
7-4 sdust-Java-字符串集合求并集 (20分) 从键盘接收N个英文字符串(其中不同的字符串数量大于10),从头开始取5个不同的字符串放入一个集合S1,然后接着取5个不同的字符串放入另一个集 ...
- 7-3 sdust-Java-字符串集合求并集 (25 分)
7-3 sdust-Java-字符串集合求并集 (25 分)从键盘接收N个英文字符串(其中不同的字符串数量大于10),从头开始取5个不同的字符串放入一个集合S1,然后接着取5个不同的字符串放入另一个集 ...
- sdust-Java-字符串集合求并集 (10分)
7-11 sdust-Java-字符串集合求并集 (10分) 从键盘接收N个英文字符串(其中不同的字符串数量大于10),从头开始取5个不同的字符串放入一个集合S1,然后接着取5个不同的字符串放入另一个 ...
- 7-7 sdust-Java-字符串集合求并集 (10分)
从键盘接收N个英文字符串(其中不同的字符串数量大于10),从头开始取5个不同的字符串放入一个集合S1,然后接着取5个不同的字符串放入另一个集合S2,按照字母顺序输出S1和S2的并集中的每个字符串(字符 ...
- 7-3 sdust-Java-字符串集合求并集 (10分)
从键盘接收N个英文字符串(其中不同的字符串数量大于10),从头开始取5个不同的字符串放入一个集合S1,然后接着取5个不同的字符串放入另一个集合S2,按照字母顺序输出S1和S2的并集中的每个字符串(字符 ...
- python3 练习题100例 (二十二)输入两个字符串,输出两个字符串集合的并集
题目内容: 输入两个字符串,输出两个字符串集合的并集. 为保证输出结果一致,请将集合内元素排序之后再输出, 如对于集合aset,可输出sorted(aset). 输入格式: 共两行,每一行为一个字符串 ...
- c语言链表集合求并集用字母表示,c语言实现的链表集合的并集与交集
c语言,链表,集合求并集,交集 #include #include typedefintDatatype; //定义链表的节点 typedefstructLNode{ Datatype data; L ...
- 7-16 一元多项式求导 (20 分)(详解+题目分析)
7-16 一元多项式求导 (20 分) 1:题目 设计函数求一元多项式的导数. 输入格式: 以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数).数字间以空格分隔. 输出格式: ...
- 7-121 删除字符串中的子串 (20 分)
7-121 删除字符串中的子串 (20 分) 输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2. 输入格式: 输入在2行中分别给出不超过80个字符长度的.以 ...
最新文章
- P1892 [BOI2003]团伙(并查集,反集)难度⭐⭐★
- Pandas基础复习-DataFrame
- 修改oracle数据库密码
- hdu-4825(01字典树)
- 求平方根sqrt()函数的底层算法效率问题
- 机器学习与数据科学决策树指南
- Spring Boot三合一实验(添加人员,修改人员,删除人员)
- pydev工程linux运行,Linux平台下Python的安装及IDE开发环境搭建
- NSString 转为gbk
- Python基础模块
- 云和恩墨大讲堂西安站成功举办,携手合作伙伴引领企业数字化转型
- 居家生活|装修避免的坑
- 固态硬盘是什么接口_电脑M.2接口讲究多:读懂固态硬盘完整规格
- 【附源码】计算机毕业设计SSM网上鲜花店系统
- VC2008 NewControl 示例
- 【软件应用】福昕pdf阅读器回退到上次阅读的位置
- FFT快速傅里叶变换 超详细的入门学习总结
- linux的gpio设备,Linux 4.x之Gpio分析(一)Gpiolib库1
- Rasa 聊天机器人框架使用流程
- WINDOWS性能监控器的监视以及邮件预警配置