我正在处理下面的问题并且非常接近,但在第 19 和 32 行我收到以下错误并且无法弄清楚。
foreach 不适用于表达式类型 for (String place: s)
问题:
税务检查员可以使用两个文本文件,分别称为 unemployers.txt 和 taxpayers.txt。每个文件包含一组名称,每行一个名称。检查员将出现在这两个文件中的任何人视为狡猾的角色。编写一个程序,打印出不可靠字符的名称。充分利用 Java 对集合的支持。
我的代码:
class Dodgy {
public static void main(String[] args) {
HashSet<String> hs = new HashSet<String>();
Scanner sc1 = null;
try {sc1 = new Scanner(new File("taxpayers.txt"));}
catch(FileNotFoundException e){};
while (sc1.hasNextLine()) {
String line = sc1.nextLine();
String s = line;
for (String place: s) {
if((hs.contains(place))==true){
System.out.println(place + " is a dodgy character.");
hs.add(place);}
}
}
Scanner sc2 = null;
try {sc2 = new Scanner(new File("unemployed.txt"));}
catch(FileNotFoundException e){};
while (sc2.hasNextLine()) {
String line = sc2.nextLine();
String s = line;
for (String place: s) {
if((hs.contains(place))==true){
System.out.println(place + " is a dodgy character.");
hs.add(place);}
}
}
}
}