Java - sub menus

   
Vista:
Imágen de perfil de Diego

sub menus

Publicado por Diego (23 intervenciones) el 28/02/2014 20:45:17
ola me pueden ayudar a aplicar un submenu en java tengo mi clase calculadora la cual ereda de calculadora cientifia creo para acer los submenus son ciclos iterativos asi como tambien switc este es mi main

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
public class TesCalc {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int opc=0;
        do{
            System.out.println(" Menu");
            System.out.println("1.Basica");
            System.out.println("2.Cientifica");
            System.out.println("3.Salir");
            System.out.println(" opcion");
            opc=sc.nextInt();
 
            switch(opc){
            case 1:
               System.out.println("calculadora basica");
               Calculadora calc=new Calculadora();
               System.out.println("suma");
               System.out.println("resultado:  "+calc.sumar(2,3));
               break;
            case 2:
                System.out.println("calcuadora cientifica");
                Calculadora_cientifica calc1=new Calculadora_cientifica();
                System.out.println("suma");
                System.out.println("resultado:  "+calc1.sumar(2.3,5.9));
                break;
            case 3:
                   System.out.println(" gracias por usar  calcuadora");
                break;
            default:
                System.out.println("Opcion invalida");
 
            }
 
 
        }while((opc<1 | opc>3));
    }
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Jaime

sub menus

Publicado por Jaime (7 intervenciones) el 01/03/2014 02:24:25
Hola Diego!
Lo que yo entiendo que ud quiere es hacer un submenu. Si es así, tu creencia está cierta, se necesita un ciclo y un switch.
Algo asi y le corregí un problema de programación en la sentencia del While:
public class TesCalc {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int opc=0;
do{
System.out.println(" Menu");
System.out.println("1.Basica");
System.out.println("2.Cientifica");
System.out.println("3.Salir");
System.out.println(" opcion");
opc=sc.nextInt();

switch(opc){
case 1:
System.out.println("calculadora basica");
Calculadora calc=new Calculadora();
Scanner sm= new Scanner (System.in);
int opc2=0;
do{
System.out.println("1.Sumar 2+3");
System.out.println("2.Sumar 4+5");
opc2=sm.nextInt();
switch(opc2)
{
case 1:
System.out.println("suma");
System.out.println("resultado: "+calc.sumar(2,3));
case 2:
System.out.println("suma");
System.out.println("resultado: "+calc.sumar(4,5));
}
} while(opc2>=1 & opc2<3);

break;
case 2:
System.out.println("calcuadora cientifica");
Calculadora_cientifica calc1=new Calculadora_cientifica();
System.out.println("suma");
System.out.println("resultado: "+calc1.sumar(2.3,5.9));
break;
case 3:
System.out.println(" gracias por usar calcuadora");
break;
default:
System.out.println("Opcion invalida");

}


}while((opc>=1 & opc<3));
}
}

Espero que te haya respondido tu inquietud y no que haya mal interpretado tu problema...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Diego

sub menus

Publicado por Diego (23 intervenciones) el 01/03/2014 03:10:59
este es lo que yo ize me marca error en opc1 y opc2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
public class TesCalc {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int opc=0;
        do{
            System.out.println(" Menu");
            System.out.println("1.Basica");
            System.out.println("2.Cientifica");
            System.out.println("3.Salir");
            System.out.println("selecciona una opcion");
            opc=sc.nextInt();
 
            switch(opc){
            case 1:
               System.out.println("calculadora basica");
               Calculadora calc=new Calculadora();
               System.out.println("suma");
               System.out.println("resultado:  "+calc.sumar(2,3));
               break;
                    int opc1=0;
                    do{
                        System.out.println("Menu calculadora basica");
                        System.out.println("Suma");
                        System.out.println("Resta");
                        System.out.println("Multiplicacion");
                        System.out.println("Divicion");
                        opc1=sc.nextInt();
 
                        switch(opc1){
                            case 1:
                                System.out.println("opcion elijida suma");
                                System.out.println("el resultado es:  "+calc.sumar(opc, opc));
                                break;
                            case 2:
                                System.out.println("opcion elijida  resta");
                                System.out.println(" el resualtado es:   "+calc.restar(opc, opc));
                                break;
                            case 3:
                                System.out.println("opcion elijida multiplicacion");
                                System.out.println("el resultado es:  "+calc.restar(opc, opc));
                                break;
                            case 4:
                                System.out.println("opcion elejida divicion");
                                System.out.println("el resultado es : "+calc.dividir(opc, opc));
                                break;
                            case 5:
                              System.out.println(" gracias por usar  calcuadora basica");
                              break;
                          default:
                           System.out.println("Opcion invalida");
 
 
        }
 
           }while(opc1 !=4);
            case 2:
                System.out.println("calcuadora cientifica");
                Calculadora_cientifica calc1=new Calculadora_cientifica();
                System.out.println("suma");
                System.out.println("resultado:  "+calc1.sumar(2.3,5.9));
                break;
                int opc2=0;
                 do{
                    System.out.println("Menu Calculadora cientifica");
                    System.out.println("1.Potencia");
                    System.out.println("2.Raiz cuadrada ");
                    System.out.println("3.Salir");
                    opc2=sc.nextInt();
                switch(opc2){
                    case 1:
                        System.out.println("opc elejida potencia");
                        System.out.println("el resulatado es:  "+ calc1.potencia(opc));
                        break;
                    case 2:
                        System.out.println("opc elejida raiz cuadrada");
                        System.out.println("el resultado es:  "+calc1.raiz(opc));
                        break;
                  case 3:
                      System.out.println(" gracias por usar  calcuadora");
                      break;
                     default:
                     System.out.println("Opcion invalida");
                     }
                       }while(opc2 !=3);
                        }
                  }while((opc<1 | opc>3));
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jaime

sub menus

Publicado por Jaime (7 intervenciones) el 01/03/2014 03:46:20
Y que clase de error? porque según veo, tienes 2 errores que son feitos y es la ubicación del "break;", están donde no deben estar... Y te recomiendo que para la sentencia while obligues a que esté entre las opciones del menú; es decir, si "3.Salir" la sentencia quedaría "while(opc>0 & opc <3)",... Es para que tengas en cuenta porque según veo estarás en ciclos indefinidos...
Sin más preámbulo, acá te envío el código con las correcciones que le hice:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
public class TesCalc {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int opc=0;
do{
System.out.println(" Menu");
System.out.println("1.Basica");
System.out.println("2.Cientifica");
System.out.println("3.Salir");
System.out.println("selecciona una opcion");
opc=sc.nextInt();
 
switch(opc){
case 1:
System.out.println("calculadora basica");
Calculadora calc=new Calculadora();
System.out.println("suma");
System.out.println("resultado: "+calc.sumar(2,3));
int opc1=0;
do{
System.out.println("Menu calculadora basica");
System.out.println("Suma");
System.out.println("Resta");
System.out.println("Multiplicacion");
System.out.println("Divicion");
opc1=sc.nextInt();
 
switch(opc1){
case 1:
System.out.println("opcion elijida suma");
System.out.println("el resultado es: "+calc.sumar(opc, opc));
break;
case 2:
System.out.println("opcion elijida resta");
System.out.println(" el resualtado es: "+calc.restar(opc, opc));
break;
case 3:
System.out.println("opcion elijida multiplicacion");
System.out.println("el resultado es: "+calc.restar(opc, opc));
break;
case 4:
System.out.println("opcion elejida divicion");
System.out.println("el resultado es : "+calc.dividir(opc, opc));
break;
case 5:
System.out.println(" gracias por usar calcuadora basica");
break;
default:
System.out.println("Opcion invalida");
 
 
}
 
}while(opc1>0 & opc1<5);
break;
 
case 2:
System.out.println("calcuadora cientifica");
Calculadora_cientifica calc1=new Calculadora_cientifica();
System.out.println("suma");
System.out.println("resultado: "+calc1.sumar(2.3,5.9));
int opc2=0;
do{
System.out.println("Menu Calculadora cientifica");
System.out.println("1.Potencia");
System.out.println("2.Raiz cuadrada ");
System.out.println("3.Salir");
opc2=sc.nextInt();
switch(opc2){
case 1:
System.out.println("opc elejida potencia");
System.out.println("el resulatado es: "+ calc1.potencia(opc));
break;
case 2:
System.out.println("opc elejida raiz cuadrada");
System.out.println("el resultado es: "+calc1.raiz(opc));
break;
case 3:
System.out.println(" gracias por usar calcuadora");
break;
default:
System.out.println("Opcion invalida");
}
}while(opc2>0 & opc2<3);
break;
}
}while((opc>0 & opc<3));
}
}

Espero te sirva de ayuda y que esta sea la solución...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Diego

sub menus

Publicado por Diego (23 intervenciones) el 03/03/2014 00:13:41
gracias una duda xk cuando ingreso valores a la potencia y a la raiz me retorna el mismo valor que introduci estoy utilizando math.pow y retorno el num al igual con math.sqrt
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar