import java.util.Random;
class Alumno{
static int numAlus, notaEquipo=0;
static Random rand = new Random();
int codigo, nota=0;
char casado = 'n';
String nombre, conyugue = "";
Alumno(int codigo){
this.codigo = codigo;
nombre = "Alu" + (codigo + 1);
}
public static void main(String[] args){
int i;
numAlus = aleat(10,15);
Alumno[] alumnos = new Alumno[numAlus];
for(i=0; i<numAlus; i++){
alumnos[i] = new Alumno(i);
alumnos[i].actPersonal1();
}
actEquipo1();
for(i=0; i< numAlus; i++){
alumnos[i].actPersonal2();
}
actEquipo2();
for(i=0; i< numAlus; i++){
alumnos[i].actPersonal3();
}
System.out.println("Número de alumnos: " + numAlus);
System.out.println("Nota de equipo: "+ notaEquipo);
alumnos[2-1].casar(alumnos[numAlus-1]); // se casan alu2 con la última alumna
System.out.println("Código Nombre nota casado conyugue" );
for(i=0; i< numAlus; i++){
System.out.printf(" %2d %5s %d %s %s\n", alumnos[i].codigo+1, alumnos[i].nombre,
alumnos[i].nota, alumnos[i].casado, alumnos[i].conyugue);
}
}
static int aleat(int inicio, int fin){
return inicio + rand.nextInt(fin-inicio+1);
}
static void actEquipo1(){notaEquipo += aleat(5,7);}
static void actEquipo2(){notaEquipo += aleat(7,10);}
void actPersonal1(){nota += aleat(5,7);}
void actPersonal2(){nota += aleat(7,10);}
void actPersonal3(){nota += aleat(0,3);}
void casar(Alumno novia){
if(casado == 's' || novia.casado == 's') System.out.println("No se pueden casar");
else{
Cura.casar(nombre, novia.nombre); // método de nivel Clase (static)
Alcalde alc = new Alcalde(); alc.casar(nombre, novia.nombre); // método de nivel objeto (Instancia de clase)
conyugue = novia.nombre;
novia.conyugue = nombre;
casado = 's'; novia.casado = 's';
}
}
}
class Cura{
static void casar(String novio, String novia){
System.out.println("En nombre de la Iglesia, declaro casados a " + novio + " con " + novia);
}
}
class Alcalde{
void casar(String novio, String novia){
System.out.println("En nombre de la ley, declaro casados a " + novio + " con " + novia);
}
}