elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  switch y case en que parte de mi codigo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: switch y case en que parte de mi codigo  (Leído 2,867 veces)
jelsir

Desconectado Desconectado

Mensajes: 124



Ver Perfil
switch y case en que parte de mi codigo
« en: 20 Septiembre 2013, 05:43 am »

hola buenas noches:

tengo el siguiente problemas estoy empezando a programar el siguiente codigo funciona perfectamente con el while ya se ejecuto como querria, ahora estoy tratando de que funciones con el switch y case pero no consigo que funcione que estoy haciendo mal ayuda por favor.. gracias aqui les dejo el codigo: ahh otro problema que presenta despues de ejecutar deberia regresar al menu principal pero no lo hace...nuevamente gracias

package udem;

import java.io.*;
public class Udem
{
 public static void main(String []args)throws IOException
 {
  int regresar=1,opc;
  BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
    System.out.print("\n");
   
 
 
  switch(regresar)
  {
   
    case 1:System.out.print("\n\t 1.- DECIMAL     —> BINARIO");
    System.out.println("\n");
    case 2:System.out.print("\n\t 2.- DECIMAL     —> OCTAL");
    case 3:System.out.print("\n\t 3.- DECIMAL     —> HEXADECIMAL");
    System.out.print("\n\t");
    case 4:System.out.print("\n\t 4.- BINARIO     —> DECIMAL");
    case 5:System.out.print("\n\t 5.- BINARIO     —> OCTAL");
    case 6:System.out.print("\n\t 6.- BINARIO     —> HEXADECIMAL");
    System.out.print("\n\t");
    case 7:System.out.print("\n\t 7.- HEXADECIMAL —> BINARIO");
    case 8:System.out.print("\n\t 8.- HEXADECIMAL —> OCTAL");
    case 9:System.out.print("\n\t 9.- HEXADECIMAL —> DECIAMAL");
    System.out.print("\n\t ");
    case 10:System.out.print("\n\t 10.-OCTAL       —> BINARIO");
    case 11:System.out.print("\n\t 11.-OCTAL       —> DECIMAL");
    case 12:System.out.print("\n\t 12.-OCTAL       —> HEXADECIMAL");
    System.out.print("\n\t=========================================");
    System.out.print("\n\t");
    System.out.print("\nELIGE LA OPCION A CONVERTIR: ");
   opc=Double.valueOf(in.readLine().trim()).intValue();
    if(opc==1)
 
    {
    System.out.print("\nTU OPCION FUE 1= DECIMAL —> BINARIO");
    System.out.println("\n");
    System.out.println("\nIngrese el valor DECIMAL: ");
    String DecimalFormat = in.readLine();
    int i = Integer.parseInt(DecimalFormat);
    String bin = Integer.toBinaryString(i);
    System.out.println("\n");
    System.out.println("El valor en BINARIO es: " + bin);
    break;
   
    }
   
    {
     if(opc==2)
    {
       System.out.print("\nTU OPCION FUE 2= DECIMAL —> OCTAL");
       System.out.println("\n");
       System.out.println("\nIngrese el valor DECIMAL: ");
       String DecimalFormat = in.readLine();
       int i = Integer.parseInt(DecimalFormat);
       String oct = Integer.toOctalString(i);
       System.out.println("\n");
       System.out.println("El valor en Octal es: " + oct);
    break;
    }
    if(opc==3)
     {
       System.out.println("\nTU OPCION FUE 3= DECIMAL —> HEXADECIMAL");
       System.out.println("\n");
       System.out.println("\nIngrese el valor DECIMAL: ");
       String DecimalFormat = in.readLine();
       int i = Integer.parseInt(DecimalFormat);
       String hex = Integer.toHexString(i);
       System.out.println("\n");
       System.out.println("El valor en HEXADECIMAL ES: " + hex);
     break;
     }
     if(opc==4)
     {
       System.out.print("\nTU OPCION FUE 4= BINARIO —> DECIMAL");
       System.out.println("\n");
       System.out.print("\nINGRESA UN NUMERO BINARIO : ");
       String Bidi = in.readLine();
       int i = Integer.parseInt(Bidi,2);
       String dec = Integer.toString(i);
       System.out.println("\n");
       System.out.println("El valor en DECIMAL es: " + dec);
      break;
     }
     if(opc==5)
     {
       System.out.print("\nTU OPCION FUE 5= BINARIO —> OCTAL");
       System.out.println("\n");
       System.out.print("\nINGRESA UN NUMERO BINARIO : ");
       String Bidi = in.readLine();
       int i = Integer.parseInt(Bidi,2);
       String oct = Integer.toOctalString(i);
       System.out.println("\n");
       System.out.println("El valor en OCTAL es: " + oct);
      break;
     }
        if(opc==6)
     {
       System.out.print("\nTU OPCION FUE 6= BINARIO —> HEXADECIMAL");
       System.out.println("\n");
       System.out.print("\nINGRESA UN NUMERO BINARIO : ");
       String Bidi = in.readLine();
       int i = Integer.parseInt(Bidi,2);
       String hex = Integer.toHexString(i);
       System.out.println("\n");
       System.out.println("El valor en HEXADECIMAL es: " + hex);
      break;
     }
     if(opc==7)
     {
       System.out.print("\nTU OPCION FUE 7= HEXADECIMAL —> BINARIO");
       System.out.println("\n");
       System.out.print("\nINGRESA UN NUMERO HEXADECIMAL: ");
       String hex = in.readLine();
       int i = Integer.parseInt(hex,16);
       String bin = Integer.toBinaryString(i);
       System.out.println("\n");
       System.out.println("El valor en BINARIO es: " + bin);
      break;
     }
     if(opc==8)
     {
       System.out.print("\nTU OPCION FUE 8= HEXADECIMAL —> OCTAL");
       System.out.println("\n");
       System.out.print("\nINGRESA UN NUMERO HEXADECIMAL: ");
       String hex = in.readLine();
       int i = Integer.parseInt(hex,16);
       String oct = Integer.toOctalString(i);
       System.out.println("\n");
       System.out.println("El valor en OCTAL es: " + oct);
      break;
     }
     if(opc==9)
     {
       System.out.print("\nTU OPCION FUE 9= HEXADECIMAL —> DECIMAL");
       System.out.println("\n");
       System.out.print("\nINGRESA UN NUMERO HEXADECIMAL: ");
       String hex = in.readLine();
       int i = Integer.parseInt(hex,16);
       String dec = Integer.toString(i);
       System.out.println("\n");
       System.out.println("El valor en DECIMAL es: " + dec);
      break;
     }
     if(opc==10)
     {
       System.out.print("\nTU OPCION FUE 10= OCTAL —> BINARIO");
       System.out.println("\n");
       System.out.print("\nINGRESA UN NUMERO OCTAL: ");
       String oct = in.readLine();
       int i = Integer.parseInt(oct,8);
       String bin = Integer.toBinaryString(i);
       System.out.println("\n");
       System.out.println("El valor en BINARIO es: " + bin);
      break;
     }
     if(opc==11)
     {
       System.out.print("\nTU OPCION FUE 11= OCTAL —> DECIMAL ");
       System.out.println("\n");
       System.out.print("\nINGRESA UN NUMERO OCTAL: ");
       String oct = in.readLine();
       int i = Integer.parseInt(oct,8);
       String dec = Integer.toString(i);
       System.out.println("\n");
       System.out.println("El valor en DECIMAL es: " + dec);
      break;
     }
     if(opc==12)
     {
       System.out.print("\nTU OPCION FUE 12= OCTAL —> HEXADECIMAL");
       System.out.println("\n");
       System.out.print("\nINGRESA UN NUMERO OCTAL: ");
       String oct = in.readLine();
       int i = Integer.parseInt(oct,8);
       String hex = Integer.toHexString(i);
       System.out.println("\n");
       System.out.println("El valor en HEXADECIMAL es: " + hex);
      break;
      }
     }
    }
     System.out.print("\n");
     System.out.print("\n¿¿¿ REGRESAR A MENU PRINCIPAL ???   [1.-Si /2.No ]: ");
     regresar=Double.valueOf(in.readLine().trim()).intValue(); 
 }
 }



En línea

(`’·.¸(`’·.¸ ¸.·’´)¸.·’´)
«´¨`·...[JeLsIr] «
(¸.·’´(¸.·’´ `’·.¸)`’·.¸)
Mitsu

Desconectado Desconectado

Mensajes: 259



Ver Perfil WWW
Re: switch y case en que parte de mi codigo
« Respuesta #1 en: 20 Septiembre 2013, 14:04 pm »

Primero, para que regrese al menú principal tienes 2 opciones: Hacer el mismo switch en un método y cada vez que termine una conversión, llamar al método. Esto no te lo aconsejo por cuestión de praxis y memoria, estarías cargando variables innecesarias.

La segunda opción es hacerlo mediante un bucle con centinela. Esto es; que se repita todo el menú mientras que NO se ingrese el centinela, que puede ser por ejemplo -1. Es decir, que el menú se seguirá ejecutando, hasta que en vez de una opción valida, se ingrese -1. La condición del bucle cambia a False y termina el proceso.

Otro punto importante es que, en Java una estructura switch todo un proceso debe ir en su case correspondiente. En un switch, luego de cada sentencia en los cases, está la palabra break, esto quiere decir, que cuando haga una sentencia del case que coincide con el valor de la variable evaluada, el break hará que el switch se rompa y termine. Cuando el switch encuentra la sentencia break, el switch se romperá y prosiguirá el algoritmo. Tú al no poner las sentencias break en los case, estás haciendo que siempre se ejecute el último case.

El código dentro de los if, deben estar en su case correspondiente.


« Última modificación: 20 Septiembre 2013, 14:06 pm por M1τѕυ » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
programando c++ con switch y case
Programación C/C++
nandeider 6 18,391 Último mensaje 25 Mayo 2011, 19:34 pm
por Norochii
Case label '#' not within a switch statement
Programación C/C++
mistaiker 4 12,348 Último mensaje 27 Agosto 2011, 15:35 pm
por Queta
alguien que explique. (sobre switch case)
Programación General
josco 2 3,571 Último mensaje 14 Octubre 2011, 04:40 am
por raul338
problema switch case
Programación C/C++
daniloops 1 2,648 Último mensaje 30 Mayo 2014, 23:10 pm
por El Benjo
Switch y case
Programación C/C++
perujo 3 2,245 Último mensaje 8 Agosto 2017, 15:26 pm
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines