[n位员工的个人管理计划。提供特定功能的某些方法。我正在使用的方法对我来说非常复杂,因为它在方法创建之初就在起作用,而现在却没有。
问题:该方法无用,并给出了要搜索的名称/姓氏。即使名称存在,它也说不存在。
方法:
public static void suche(String[] vN, String[] nN, String[] adres) {
Scanner sc = new Scanner(System.in);
System.out.println("Geben Sie den Vornamen des Mitarbeiters ein: ");
String vn = sc.nextLine();
System.out.println("Geben Sie den Nachnamen des Mitarbeiters ein: ");
String nn = sc.nextLine();
for (int i = 0; i < nN.length; i++) {
for (int j = 0; j < vN.length; j++); {
if (nn.equals(nN[i]) && vn.equals(vN[i])) {
System.out.println("Der/die Mitarbeier/Mitarbeiterin " + nn + " " + vn + " ist vorhanden");
} else {
System.out.println("Dieser Name existiert im System nicht");
break;
}
}
}
如果您有任何疑问,请随时提出。不知道,投票赞成也许其他人有答案。谢谢
程序当前正在寻找第一位员工,并且如果第一位员工的姓氏和名字不匹配,则程序将打印出“未找到”并放弃搜索(使用break
。]]
您可以做的是保留一个变量,该变量告诉您是否找到了匹配的员工。如果在循环之后未找到匹配项,请然后
打印警告消息。当您只需要一个for循环时,您也有一个双for循环。
boolean found = false;
for (int i = 0; i < nN.length; i++) {
if (nn.equals(nN[i]) && vn.equals(vN[i])) {
System.out.println("Der/die Mitarbeier/Mitarbeiterin " + nn + " " + vn + " ist vorhanden");
found = true;
break;
}
}
if (!found) {
System.out.println("Dieser Name existiert im System nicht");
}
[您正在使用i来索引两个数组,而不是对vN使用j,并且在此处for (int j = ...);
后有分号,因此它总是在之后执行。