一、题目描述
牛牛想尝试一些新的料理,每个料理需要一些不同的材料,问完成所有的料理需要准备多少种不同的材料。
输入描述:
每个输入包含 1 个测试用例。每个测试用例的第 i 行,表示完成第 i 件料理需要哪些材料,各个材料用空格隔开,输入只包含大写英文字母和空格,输入文件不超过 50行,每一行不超过 50 个字符。
输出描述:
输出一行一个数字表示完成所有料理需要多少种不同的材料。
二、思路分析
因为使用的材料有重复,想要知道材料的种数,可以借助 Set ,来进行去重,最后 Set 中的材料每个只有一份,再计算 Set 的 size,就可以知道有多少种了
三、代码
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Set<String> set = new HashSet<>();
// 有多行输入
while (sc.hasNext()){
String s = sc.nextLine();
String[] split = s.split(" "); // 每种材料之间用空格隔开
for (String str : split) {
set.add(str);
}
}
System.out.println(set.size());
}
}