作业3 容器 4、集合的笛卡尔乘积
设计一个类的方法,其输入是两个字符串的集合(每个集合中的字符串有相同的意义,例如,一个全是姓名的字符串,一个全是班级的字符串),打印出这两个集合的笛卡尔乘积。
代码
Main.java
//Main.java
import java.util.*;
public class Main {
public static void cartesianProduct(TreeSet<String> name, TreeSet<String> classname) {
for (String sn : name) {
for (String cn : classname) {
System.out.print(sn + "=" + cn + " ");
}
System.out.println();
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
TreeSet<String> name = new TreeSet<>();
TreeSet<String> classname = new TreeSet<>();
System.out.println("请输入姓名集合,每个姓名需要通过,分隔");
String sname = scanner.nextLine();
String[] saname = sname.split(",");
for (String s : saname) {
name.add(s);
}
System.out.println("请输入班级集合,每个班级需要通过,分隔");
String sclassname = scanner.nextLine();
String[] saclassname = sclassname.split(",");
for (String s : saclassname) {
classname.add(s);
}
System.out.println(name);
System.out.println(classname);
cartesianProduct(name, classname);
}
}
/**
* 样例输入
dz,dx,dc,dv,db,dn,dm,df,dg
1b,2b,3b,4b,5b,6b,7b
* 样例输出
db=1b db=2b db=3b db=4b db=5b db=6b db=7b
dc=1b dc=2b dc=3b dc=4b dc=5b dc=6b dc=7b
df=1b df=2b df=3b df=4b df=5b df=6b df=7b
dg=1b dg=2b dg=3b dg=4b dg=5b dg=6b dg=7b
dm=1b dm=2b dm=3b dm=4b dm=5b dm=6b dm=7b
dn=1b dn=2b dn=3b dn=4b dn=5b dn=6b dn=7b
dv=1b dv=2b dv=3b dv=4b dv=5b dv=6b dv=7b
dx=1b dx=2b dx=3b dx=4b dx=5b dx=6b dx=7b
dz=1b dz=2b dz=3b dz=4b dz=5b dz=6b dz=7b
*/