Ayuda con Clases Java
Publicado por Aprendiz (5 intervenciones) el 24/07/2021 19:57:58
Buenos días!
Intento ejercitar con ejs de clases. Mi código es el siguiente: Por pantalla se pide que se introduzca los datos de un jugador y el programa necesito que contemple 2 situaciones:
1. Que al introducir el último dato del primer jugador, tras dar enter me notifique si está eliminado o no.
2. Que al introducir el último dato del primer jugador, tras dar enter y empezar a introducir los datos del segundo jugador en lugar de hacer 1 me diga cuál de los dos es mejor (atendiendo a sus puntajes que ponderan según el tipo de jugada, c1, c2, c3 y de si se está eliminado o no)
Mi programa es éste pero no distingue las dos situaciones a la salida:
public class ProblemaBaloncesto {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Introduzca nombre del jugador, las canastas de tipo 1,2,3 y el nº de faltas");
Jugador j1 = new Jugador(input.nextLine(), input.nextInt(), input.nextInt(), input.nextInt(), input.nextInt());
if (input.hasNextLine()) {
Jugador j2 = new Jugador(input.nextLine(), input.nextInt(), input.nextInt(), input.nextInt(),
input.nextInt());
if (j1.eliminado(j1) || j2.c1 + j2.c2 * 2 + j2.c3 * 3 > j1.c1 + j1.c2 * 2 + j1.c3 * 3) {
System.out.println(j2.nomb + "es mejor que " + j1.nomb);
} else if (j2.c1 + j2.c2 * 2 + j2.c3 * 3 < j1.c1 + j1.c2 * 2 + j1.c3 * 3 || j2.eliminado(j2)) {
System.out.println(j1.nomb + "es mejor que " + j2.nomb);
} else {
System.out.println("Están empate");
}
} else {
if (j1.eliminado(j1)) {
System.out.println(j1.nomb + "está eliminado");
} else {
System.out.println(j1.nomb + "no está eliminado");
}
}
}
}
///// y la segunda clase/////
public class Jugador {
public String nomb;
public int c1;
public int c2;
public int c3;
public int faltas;
public Jugador(String nombre, int _c1, int _c2, int _c3, int fault) {
nomb = nombre;
c1 = _c1;
c2 = _c2;
c3 = _c3;
faltas = fault;
}
public boolean eliminado(Jugador j) {
if (j.faltas < 5) {
return false;
} else {
return true;
}
}
}
Muchísimas gracias por su tiempo!
Intento ejercitar con ejs de clases. Mi código es el siguiente: Por pantalla se pide que se introduzca los datos de un jugador y el programa necesito que contemple 2 situaciones:
1. Que al introducir el último dato del primer jugador, tras dar enter me notifique si está eliminado o no.
2. Que al introducir el último dato del primer jugador, tras dar enter y empezar a introducir los datos del segundo jugador en lugar de hacer 1 me diga cuál de los dos es mejor (atendiendo a sus puntajes que ponderan según el tipo de jugada, c1, c2, c3 y de si se está eliminado o no)
Mi programa es éste pero no distingue las dos situaciones a la salida:
public class ProblemaBaloncesto {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Introduzca nombre del jugador, las canastas de tipo 1,2,3 y el nº de faltas");
Jugador j1 = new Jugador(input.nextLine(), input.nextInt(), input.nextInt(), input.nextInt(), input.nextInt());
if (input.hasNextLine()) {
Jugador j2 = new Jugador(input.nextLine(), input.nextInt(), input.nextInt(), input.nextInt(),
input.nextInt());
if (j1.eliminado(j1) || j2.c1 + j2.c2 * 2 + j2.c3 * 3 > j1.c1 + j1.c2 * 2 + j1.c3 * 3) {
System.out.println(j2.nomb + "es mejor que " + j1.nomb);
} else if (j2.c1 + j2.c2 * 2 + j2.c3 * 3 < j1.c1 + j1.c2 * 2 + j1.c3 * 3 || j2.eliminado(j2)) {
System.out.println(j1.nomb + "es mejor que " + j2.nomb);
} else {
System.out.println("Están empate");
}
} else {
if (j1.eliminado(j1)) {
System.out.println(j1.nomb + "está eliminado");
} else {
System.out.println(j1.nomb + "no está eliminado");
}
}
}
}
///// y la segunda clase/////
public class Jugador {
public String nomb;
public int c1;
public int c2;
public int c3;
public int faltas;
public Jugador(String nombre, int _c1, int _c2, int _c3, int fault) {
nomb = nombre;
c1 = _c1;
c2 = _c2;
c3 = _c3;
faltas = fault;
}
public boolean eliminado(Jugador j) {
if (j.faltas < 5) {
return false;
} else {
return true;
}
}
}
Muchísimas gracias por su tiempo!
Valora esta pregunta


0