Hacer un programa en el que se declaren 3 vectores de nombres: nombre,
apellido1 y apellido2, que tengan cada uno de ellos 10 nombres y 10 apellidos,
dándole valores al declararlos sin que haya valores repetidos.
Declarar otro vector de
nombre nombresApellidos de longitud 30, que contenga el contenido de los 3
vectores anteriores. Primero irán los nombres y después los apellidos.
Asignarle valores a este vector utilizando el método arrayCopy.
a)
Escribir a continuación el nombre y apellidos de 5 personas, eligiendo
aleatoriamente los valores de los vectores nombre, apellido1 y apellido2. Estos 5 valores tienen
que almacenarse previamente en un vector de 5 Strings de nombre
nombresCompletos. Escribir los nombres ordenados alfabéticamente
a)
Repetir el apartado a) eligiendo los valores del vector nombresApellidos.
b)
(opcional) Los
nombres y apellidos no pueden estar repetidos.
import
java.util.Arrays;
package unidad3ejercicio13;
import java.util.Arrays;
import java.util.Random;
/**
*
* @author juan
*/
public class Unidad3Ejercicio13 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String [] nombre = {"Daniel", "Yago", "Anxo", "Borja", "Diego", "Manolo", "Pepe", "David", "Pablo", "Miguel"};
String [] apellido1 = {"Gonzalez", "Perez", "Crespo", "Valverde", "Dominguez", "Castro", "Martinez", "Lopez", "ALvarez", "Bernardez"};
String [] apellido2 = {"Barja", "Gutierrez", "Fernandez", "Noguerol", "Outes", "Conde", "Rodriguez", "Alvarez", "Garcia", "Arean"};
String [] nombresApellidos = new String[30];
String [] nombresAleatorios = new String[5];
Random aleatorio = new Random();
System.arraycopy(nombre, 0, nombresApellidos, 0, nombre.length);
System.arraycopy(apellido1, 0, nombresApellidos, nombre.length, apellido1.length);
System.arraycopy(apellido2, 0, nombresApellidos, (nombre.length+apellido1.length), apellido2.length);
for (int i = 0; i < nombresAleatorios.length; i++) {
nombresAleatorios[i]=nombre[aleatorio.nextInt(nombre.length)]+" " + apellido1[aleatorio.nextInt(apellido1.length)]+" "+apellido2[aleatorio.nextInt(apellido2.length)]; ;
}
System.out.println("Nombres Generados aleatoriamente");
System.out.println("================================");
for (String string : nombresAleatorios) {
System.out.println(string);
}
//Ahora copiándolos desde nombresapellidos
for (int i = 0; i < nombresAleatorios.length; i++) {
nombresAleatorios[i]=nombresApellidos[aleatorio.nextInt(nombre.length)]+" " + nombresApellidos[aleatorio.nextInt(apellido1.length)+nombre.length]+" "+nombresApellidos[aleatorio.nextInt(apellido2.length)+apellido1.length+nombre.length];
}
System.out.println("Nombres Generados aleatoriamente");
System.out.println("================================");
for (String string : nombresAleatorios) {
System.out.println(string);
}
/* Comparación de cadenas
nombresAleatorios[0]=nombresAleatorios[2];
System.out.println(nombresAleatorios[0]==nombresAleatorios[2]);
System.out.println(nombresAleatorios[0].equalsIgnoreCase(nombresAleatorios[2]));
*
*/
System.out.println("Nombres Generados aleatoriamente");
System.out.println("================================");
int cont=0;
int cont2;
while (cont<nombresAleatorios.length)
{
nombresAleatorios[cont]=nombresApellidos[aleatorio.nextInt(nombre.length)]+" " + nombresApellidos[aleatorio.nextInt(apellido1.length)+nombre.length]+" "+nombresApellidos[aleatorio.nextInt(apellido2.length)+apellido1.length+nombre.length];
cont2=0;
while (cont!=cont2 && !nombresAleatorios[cont].equalsIgnoreCase(nombresAleatorios[cont2])) {
++cont2;
}
if (cont==cont2) cont++;
}
for (String string : nombresAleatorios) {
System.out.println(string);
}
}
}
No hay comentarios:
Publicar un comentario