我只是希望它遍历我的arraylist并在找不到用户时显示一次,或者如果找到用户则显示一次。
我的代码工作正常。
就是这样,我可以把它作为我的users.txt有3个用户。
username:password:number
test1:pass1:123
test2:pass2:456
test3:pass3:789
所以当我使用这段代码并遍历我的arraylist
时for (Users u: userDetails) {
if (!u.getUser().toLowerCase().contains(userName.toLowerCase())) {
System.out.println("Does not exist");
} else {
System.out.println("Exist");
}
}
以上代码重复3次"不存在"如果我输入无效的用户名。任何人都可以启发我吗?
答案 0 :(得分:3)
您可以使用标志变量:
boolean userExists = false; // flag
for (Users u: userDetails) {
if (u.getUser().toLowerCase().contains(userName.toLowerCase())) {
System.out.println("Exist");
userExists = true; // update flag
}
}
// check if user doesn't exist
if (!userExists)
System.out.println("Does not exist");
答案 1 :(得分:3)
你可以这样试试:
public static void checkUserExistence(Collection<Users> userDetails) {
for (Users u: userDetails) {
if (u.getUser().toLowerCase().contains(userName.toLowerCase())) {
System.out.println("Exist");
return;
}
}
System.out.println("Does not exist");
}