Java 通过在数组中迭代时比较字符串的有效性

Java 通过在数组中迭代时比较字符串的有效性,java,arrays,string,comparison,equals,Java,Arrays,String,Comparison,Equals,对不起,如果我的问题有点模糊 基本上,我要做的是对存储在数组中的构造函数对象使用字符串比较进行错误检查。我想我的想法是正确的:(Count是一个静态int,每当在另一个方法中添加一个雇员时,它就会迭代) publicstaticvoidupdatetitle(employeesearcharray[]){ 字符串搜索ID; 扫描仪输入=新扫描仪(System.in); System.out.println(“输入员工ID进行操作:”); searchID=input.nextLine(); fo

对不起,如果我的问题有点模糊

基本上,我要做的是对存储在数组中的构造函数对象使用字符串比较进行错误检查。我想我的想法是正确的:(Count是一个静态int,每当在另一个方法中添加一个雇员时,它就会迭代)

publicstaticvoidupdatetitle(employeesearcharray[]){
字符串搜索ID;
扫描仪输入=新扫描仪(System.in);
System.out.println(“输入员工ID进行操作:”);
searchID=input.nextLine();
for(int i=0;i

这将成功地进行错误检查,但是,由于它正在迭代数组,如果数组元素>0并且在数组中找到,它将在验证消息之前显示一条错误消息。当且仅当在任何元素中找不到ID时,是否有任何方法可以分析数组的每个元素并生成错误消息?

您肯定应该读一本如何用Java编程的书。 下面的所有代码都应该重写,但我把它留给理解错误的人

public static void updateTitle(Employee searchArray[]) {
    String searchID;
    Scanner input = new Scanner(System.in);
    System.out.println("Enter Employee ID for manipulation: ");
    searchID = input.nextLine();

    Employee found = null;
    for (int i = 0; i < searchArray.length; i++) {
        String arrayID = searchArray[i].getEmployeeNumber();

        if (searchID.equals(arrayID)) {
            found = searchArray[i];
            break;
        }
    }

    if (found != null) {
        System.out.println("Employee: " + searchID + " found!");
        System.out.println("Employee " + searchID + "'s current title is: " + found.getEmployeeTitle());
        System.out.println(" ");
        System.out.println("Would you like to change this employees title? (Y/N)");
        System.out.println(" ");
        String answer = input.nextLine();
        if (answer.equalsIgnoreCase("Y")) {
            System.out.println("Enter new title: ");
            String newTitle = input.nextLine();
            found.setEmployeeTitle(newTitle);
            found.updateTitle(newTitle);
        }
    } else {
        System.out.println("Please enter a valid ID!");
    }
}
publicstaticvoidupdatetitle(employeesearcharray[]){
字符串搜索ID;
扫描仪输入=新扫描仪(System.in);
System.out.println(“输入员工ID进行操作:”);
searchID=input.nextLine();
找到的员工=空;
for(int i=0;i
你绝对应该读一本如何用Java编程的书。 下面的所有代码都应该重写,但我把它留给理解错误的人

public static void updateTitle(Employee searchArray[]) {
    String searchID;
    Scanner input = new Scanner(System.in);
    System.out.println("Enter Employee ID for manipulation: ");
    searchID = input.nextLine();

    Employee found = null;
    for (int i = 0; i < searchArray.length; i++) {
        String arrayID = searchArray[i].getEmployeeNumber();

        if (searchID.equals(arrayID)) {
            found = searchArray[i];
            break;
        }
    }

    if (found != null) {
        System.out.println("Employee: " + searchID + " found!");
        System.out.println("Employee " + searchID + "'s current title is: " + found.getEmployeeTitle());
        System.out.println(" ");
        System.out.println("Would you like to change this employees title? (Y/N)");
        System.out.println(" ");
        String answer = input.nextLine();
        if (answer.equalsIgnoreCase("Y")) {
            System.out.println("Enter new title: ");
            String newTitle = input.nextLine();
            found.setEmployeeTitle(newTitle);
            found.updateTitle(newTitle);
        }
    } else {
        System.out.println("Please enter a valid ID!");
    }
}
publicstaticvoidupdatetitle(employeesearcharray[]){
字符串搜索ID;
扫描仪输入=新扫描仪(System.in);
System.out.println(“输入员工ID进行操作:”);
searchID=input.nextLine();
找到的员工=空;
for(int i=0;i
您可以将其保存到一个变量中,并在末尾对该变量进行条件检查。表达式
searchID.equals(arrayID)=true
searchID.equals(arrayID)
相同,风格更好。我想我已经解决了自己的问题。我创建了一个布尔值,用于检查是否找到它,如果没有找到,则在For循环外部将显示一条错误消息。这样它就不会加倍。您可以将它保存到一个变量中,并在最后对该变量执行条件检查。表达式
searchID.equals(arrayID)=true
searchID.equals(arrayID)
相同,这是一种更好的样式。我想我已经解决了自己的问题。我创建了一个布尔值,用于检查是否找到它,如果没有找到,则在For循环外部将显示一条错误消息。这样就不会加倍。