Búsqueda lineal de número a través del nombre de la persona con matriz: el método no funciona si el nombre no existe

Cambia tu código a:

public static int linearSearch(String name) {
    for (int i = 0; catalogue[i] != null; i++) {
        if (name.equals(catalogue[i].getName())) {
            return catalogue[i].getNumber();       // <--- return early if match found
        }
    }
    return -1;                                     // <--- return -1 for no match 
}

Lógica:

  • Si el nombre coincide, devolvemos ese número.
  • Si no hay coincidencia, devolvemos un -1

La razón por la que su código fallaba es porque incluso cuando no encuentra una coincidencia, intenta devolver un número de la matriz catalogue.

Respuesta 1

Mantenga un registro del número en lugar del índice:

int number = -1;

for(int i = 0; i < catalogue.length; i++) {
    if(catalogue[i].getName().equals(name)) {
        number = catalogue[i].getNumber();
        break;
    }
}

return number;
Respuesta: 2

He conectado SoapUI en Eclipse. Necesito saber cómo adjuntar los archivos Xml en SOAPUI. Por favor, ayúdame ... Gracias de antemano Saludos Michael-aes

Tengo un enum FooBar en la clase Clazz con falues ​​FOO y BAR así: class Clazz {enum FooBar {FOO, BAR}} Ahora me gustaría usar el método wicket getString () para localizar ...

Me resulta difícil convertir una pieza de código a PHP desde Java. Busqué en Internet sobre el significado de cada línea de código escrita en mi ejemplo de código de Java, pero no encontré ninguno. Quiero ...

Tengo un Enum, que devuelve el género de gender char: public enum Gender {FEMALE ('F'), MALE ('M'); género de char privado; Género (char gender) {this.gender = gender; ...