문자열을 사전 파일 목록과 비교하려고합니다. 단어와 직접 일치하는 경우 weak (풍선)으로 간주됩니다. 사전 파일 (# balloon232)의 단어가 포함되어 있으면 적당한 것으로 간주됩니다. 둘 다 그렇지 않으면, 그것의 강한. 이 코드에서는 약점과 보통 모두 올바르게 작동하지만 강한 패스가 입력되면 중간이라고합니다. 도와 주셔서 감사합니다.while 루프가 올바르게 인쇄되지 않는 경우
public static void passwordStrength(String pass, String file2) {
boolean found2 = false;
boolean found3 = false;
try {
y = new Scanner(new File(file2));
z = new Scanner(new File(file2));
while (y.hasNextLine()) {
if (pass.equals(y.nextLine().trim())) {
System.out.println("\nYour password is weak");
found2 = true;
break;
}
}
while (z.hasNextLine()) {
if (pass.contains(z.nextLine().trim()) && !found2) {
System.out.println("\nYour password is moderate");
found3 = true;
break;
}
}
if (!found3 && !found2) {
System.out.println("\nYour password is strong");
}
y.close();
z.close();
} catch (Exception e) {
System.out.print("Error");
}
}
파일에서 읽은 문자열은 자르지 만 변수'pass'는 자르지 않습니다. 어쩌면'pass'에는 선행 또는 후행 공백이 포함되었을 수 있습니까? 'pass'가''pass "'라고 말하면, 파일의 다듬어 진 문자열은''pass"'였을 것입니다. 정확한 일치는 아니지만 "contains"일치가 될 것입니다 ... –