El código me permite modificar un atributo inicial de las dimensiones de una caja, lo que me falta es que en caso de que ingrese una opción incorrecta que me permitiera modificar algún atributo, me pida nuevamente ingresar alguna opción correcta, intente con un do-while, pero esto medio que si lo permite, pero nunca salgo del ciclo, estoy usando netbeans, espero alguien pueda ayudarme, gracias
package Parte_III;
import java.util.Scanner;
public class Volumen_Caja_03 {
private double anchura;
private double altura;
private double profundidad;
public double Volumen() {
double volumen = anchura * altura * profundidad;
return volumen;
}
public void set_Datos(double anchura, double altura, double profundidad) {
this.anchura = anchura;
this.altura = altura;
this.profundidad = profundidad;
}
double getDatosAltura() {
return altura;
}
double getDatosAnchura() {
return anchura;
}
double getDatosProfundidad() {
return profundidad;
}
public void setDatos(String opcion, double nuevo) {
// do {
Scanner sc = new Scanner(System.in);
System.out.println("Introduce el nombre del parametro deseas modificar: ");
opcion = sc.nextLine();
switch (opcion) {
case "Anchura":
System.out.println("Ingresa el nuevo parametro: ");
nuevo = sc.nextDouble();
this.anchura = nuevo;
break;
case "Altura":
System.out.println("Ingresa el nuevo parametro: ");
nuevo = sc.nextDouble();
this.altura = nuevo;
break;
case "Profundidad":
System.out.println("Ingresa el nuevo parametro: ");
nuevo = sc.nextDouble();
this.profundidad = nuevo;
break;
default:
System.out.println("Opcion invalida intentalo de nuevo");
}
//} while ( (opcion != "Anchura" || opcion != "Altura" || opcion != "Profundidad"));
}
}
class Principal_03 {
public static void main(String[] args) {
Volumen_Caja_03 Caja3 = new Volumen_Caja_03();
Caja3.set_Datos(4, 5, 3);
System.out.println("La caja inicial tiene las siguientes dimensiones: "+Caja3.getDatosAnchura()+" metros de anchura, "+Caja3.getDatosAltura()+" metros de altura, y "+Caja3.getDatosProfundidad()+" metros de profundidad");
System.out.println("El volumen de la caja inicial es de: "+Caja3.Volumen()+" metros");
System.out.println("");
Caja3.setDatos(null, 0);
System.out.println("");
System.out.println("La caja modificada tiene las siguientes dimensiones: "+Caja3.getDatosAnchura()+" metros de anchura, "+Caja3.getDatosAltura()+" metros de altura, y "+Caja3.getDatosProfundidad()+" metros de profundidad");
System.out.println("El volumen de la caja modificada es de: "+Caja3.Volumen()+" metros");
}
}