Red de conocimiento informático - Conocimiento del nombre de dominio - ¡¡Urgente! 100 puntos, más 100 por la respuesta correcta!! Una pregunta de programación sobre delimitador en java. Cuanto más completa sea la recopilación, mejor

¡¡Urgente! 100 puntos, más 100 por la respuesta correcta!! Una pregunta de programación sobre delimitador en java. Cuanto más completa sea la recopilación, mejor

Volveré al mediodía y te escribiré todo. Se agrega un poco de juicio al programa. Si la cadena ingresada no cumple con los criterios, le pedirá que vuelva a ingresar hasta ingresar n nombres por completo

importar java.util.Scanner;

public class ArrayOfStringsDemo {

public static void main(String[] args) {

final int n = 3 //Escribe un int n, n representa cuántos nombres que hay

Name[] testArray = new Name[n];//Crea una matriz con clase Name, tamaño n y nombre testArray

int count = 0;

//Ingrese y lea la cadena en el formato anterior, hay n nombres en uno ***

while(count < n){

System.out .println(" Ingrese el nombre, use / para separar el nombre y el apellido, use # para finalizar la entrada del nombre");

Scanner scanner = new Scanner(System.in);

String nameStr = scanner.nextLine().trim();

if(nameStr.matches("\\w+/\\w+#")){//Utilice / después del nombre y # en el final del apellido.

String[] nombres = nameStr.split("/");

//Para cada par de cadenas ingresadas correctamente, crea un objeto Name y deja que se convierta en el elemento testArray Next

testArray[count++] = new Nombre(nombres[0], nombres[1].substring(0, nombres[1].length() - 1));

} else{

System.out.println("Formato de nombre incorrecto, ¡ingréselo nuevamente!");

}

}

Nombre targetName = new Name("David", "Smith");//Nombre de la prueba 1, en matriz

Name targetName2 = new Name("Name", "Chinese");/ /Nombres de prueba in array

int index1 = findName(testArray, targetName);

if(index1 == 1){

System.out. David se puede encontrar en la matriz");

}else{

System.out.println("Smith/David no está en la matriz");

}

int index2 = findName(testArray, targetName2);

if(index2 == 1){

System.out .println("Nombre /Chino se puede encontrar en la matriz");

}else{

System.out.println("Nombre/Chino no está en la matriz") ;

}

}

//Crea un método estático llamado findName, que contiene dos argumentos, el primero es una matriz de tipo Nombre,

// El segundo es un nombre. Cuando el nombre y el apellido en la matriz son iguales que el segundo nombre,

//findName devuelve el índice de la primera matriz.

Si es diferente, devuelve -1

private static int findName(Name[] testArray, Name targetName) {

for(int i = 0; i < testArray.length; i++){

Nombre nombre = testArray[i];

if(nombre.getForename().equals(targetName.getForename()) && nombre.getApellido().equals(targetName.getApellido ())){

return i;//Idéntico, índice de retorno

}

}

return -1;/ / No encontrado devuelve -1

}

}

nombre de clase{//nombre clase

cadena privada nombre de pila;

apellido de cadena privada;

nombre público (nombre de cadena, apellido de cadena){

this.forename = nombre;

this.surname = apellido;

}

public String getForename() {

return nombre;

}

public String getApellido( ) {

return apellido;

}

}

------------- -Prueba

Ingrese el nombre, use / para separar el nombre y el apellido, use # para finalizar la entrada del nombre

assdfkl;/asdkfsa;#

Formato de nombre incorrecto, ¡ingrese de nuevo!

Por favor ingrese el nombre, use / para separar el nombre y el apellido, use # para finalizar la entrada del nombre

abcdef/1234#

Por favor ingrese nombre, use / para separar el nombre y el apellido, use # para finalizar la entrada del nombre

David/Smith#

Ingrese el nombre, use / para separar el nombre y el apellido, use # para finalizar la entrada del nombre

Nombre/Inglaterra#

Smith/David se puede encontrar en la matriz

Nombre/Chino no está en la matriz