我无法使用的工作类为Actualizardatos1(我在最后粘贴代码)。我通过扫描仪功能获得输入,但从不使用Actualizardatos1方法,我在内部进入主菜单。
由于
package practica1;
public class Practica1 {
static int opcion2=0;
public static void main(String[] args) {
int opcion;
do {
Interfazusuario.printMenuPrincipal();
opcion = IOutils.readNumber();
executeAction(opcion);
} while (opcion != 4);
}
public static void executeAction(int opcion) {
if (opcion == 1) {
System.out.println("Has escogido 1!!");
Datosvivienda.setDireccionVivienda();
Datosvivienda.setSolicitarPlantas();
Datosvivienda.setSolicitarHabitaciones();
Datosvivienda.setMetrosCuadrados();
Datosvivienda.setTipoCalificacion();
Datosvivienda.setResidencial();
***//UNTIL HERE ALL SEEMS TO WORK!!***
} else if (opcion == 2) {
System.out.println("Has escogido 2!!");
Interfazusuario.preguntaActualizar();
opcion2=IOutils.readNumber();
Actualizardatos1.compararOpcion2(); ***//HERE I CAN´T MAKE IT WORK***
***//tHIS PART TO THE END WORLK TOO.***
} else if (opcion == 3) {
System.out.println("Has escogido 3!!");
IOutils.calculoTamaño();
}
}
}
public static void compararOpcion2() {
if (Practica1.opcion2 == '1') {
actualizaDireccion();
} else if (Practica1.opcion2 == '2') {
actualizaPlantas();
}else if (Practica1.opcion2 == '3') {
actualizaHabitaciones();
}else if (Practica1.opcion2 == '4') {
actualizaMetros();
} else if (Practica1.opcion2 == '5') {
actualizaCalificacion();
} else if (Practica1.opcion2 == '6') {
actualizaResidencial();
}
}
private static String actualizaDireccion() {
System.out.print("Actualize la dirección de la vivienda:\n");
Datosvivienda.direccion = IOutils.readLine();
return Datosvivienda.direccion;
}
private static int actualizaPlantas() {
System.out.print("Actualize el número de plantas de la vivienda:\n");
Datosvivienda.plantas = IOutils.readNumber();
return Datosvivienda.plantas;
}
private static float actualizaMetros() {
System.out.print("Actualize los metros cuadrados de la vivienda:\n");
Datosvivienda.metros = IOutils.readNumber();
return Datosvivienda.metros;
}
private static String actualizaCalificacion() {
System.out.print("Actualize la calificacion (A,B,C) de la vivienda:");
Datosvivienda.calificacion = IOutils.readLine();
while (Datosvivienda.calificacion.charAt(0) != 'a' && Datosvivienda.calificacion.charAt(0) != 'b' && Datosvivienda.calificacion.charAt(0) != 'c') {
System.out.print("El dato introducido no valido.\n Introduzca la calificacion (A,B,C) de la vivienda:");
Datosvivienda.calificacion = IOutils.readLine();
}
return Datosvivienda.calificacion;
}
private static String actualizaResidencial() {
System.out.print("La vivienda es residencial? s/n:");
Datosvivienda.residencial = IOutils.readLine();
while (Datosvivienda.residencial.charAt(0) != 's' && Datosvivienda.residencial.charAt(0) != 'n') {
System.out.print("Dato introducido no valido.\n Introduzca s para SI n para NO:");
Datosvivienda.residencial = IOutils.readLine();
}
return Datosvivienda.residencial;
}
private static int actualizaHabitaciones() {
System.out.print("Actualize el numero de habitaciones:");
Datosvivienda.habitaciones = IOutils.readNumber();
return Datosvivienda.habitaciones;
}
}
package practica1;
public final class Interfazusuario {
public static void printMenuPrincipal() {
System.out.print("MENU\n--------------\n"
+ "1-Solicitar datos de vivienda.\n"
+ "2-Corregir un dato.\n"
+ "3-calcular tamaño medio de la habitacion.\n"
+ "4-Salir.\n");
}
public static void preguntaActualizar() {
System.out.print("Que datos quieres modificar?:\n"
+ "1.Actualizar direccion vivienda.\n "
+ "2.Actualizar número de plantas de la vivienda.\n"
+ "3.Actualizar número de habitaciones.\n"
+ "4.Actualizar número de metros cuadrados.\n"
+ "5.Actualizar calificación.\n "
+ "6.Actualizar si es residencial.\n");
}
}
答案 0 :(得分:0)
您要与char
而不是int
进行比较。在compararOpcion2
方法中,更改所有读取的行
if (Practica1.opcion2 == '1')
到
if (Practica1.opcion2 == 1)