Java - ayuda no me funciona

 
Vista:

ayuda no me funciona

Publicado por jeison (3 intervenciones) el 05/07/2016 01:04:24
Realice un algoritmo que reciba un número que inicia con 9 y termina con 9 (debe validarse esta entrada de manera que si el número ingresado no cumple con lo anterior debe solicitarse nuevamente al usuario tantas veces sea necesario), tal que sus dígitos intermedios son 0, 1, 2 o 3 por medio del cual se representa un mensaje encriptado, tal que retorne una tira con el mensaje correspondiente. Suponga que 0 = maria, 1 = no, 2 = esta, 3 = feliz. Por ejemplo para 90239 retorna “maria esta feliz”, para 91109 retorna “no no maria”

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
import javax.swing.JOptionPane;
 
public class Encriptador {
 
    public static void main(String[] args) {
 
   int num,x,y,ultimoDigito,primerDigito,cifras=0;
 
 
     num=Integer.parseInt(JOptionPane.showInputDialog("Ingrese un numero que inicie en 9 y termine en 9 \n sus numeros intermedios deben ser 0, 1, 2 o 3"));
     x=num;
     y=num;
     String salida=" ";
 
   while (y>0) {
 
   	  cifras=(cifras+1);
   	  y = (int) (y/10);
 
   }//fin del while
 
   ultimoDigito = (int)(x % 10);
   primerDigito = (int)(x/(Math.pow(10,(cifras-1)))) % 10;
 
   if (ultimoDigito==9 && primerDigito==9){
 
   	   while (x>0){
   	   	  ultimoDigito = (int) (x % 10);
   	   	  x = (int) (x/10);
   	   if (ultimoDigito == 0 || ultimoDigito == 1 || ultimoDigito == 2 || ultimoDigito == 3 || ultimoDigito == 9)
   	   	    	System.out.print("");
   	   else
   	   	   JOptionPane.showMessageDialog(null,"El numero ingresado es incorrecto....");
           num=5;
 
   	   }while (x>10)
 
           x = (int)(x/10);
           ultimoDigito = (int)(x % 10);
 
            if (ultimoDigito==0)
          	  salida=salida+" Maria ";
                  else if (ultimoDigito==1)
                       salida=salida+" no ";
                           else if (ultimoDigito==2)
          	                  salida=salida+" esta ";
                                  else if (ultimoDigito==3)
          	                          salida=salida+" feliz ";
 
         JOptionPane.showMessageDialog(null,salida);
 
 
  }//fin del if
 
 
   else {
   	JOptionPane.showMessageDialog(null,"El numero ingresado es incorrecto");
   }
 
 
 
    }//fin del metodo main
}//fin de la clase
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
sin imagen de perfil
Val: 144
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

ayuda no me funciona

Publicado por Thanatos (97 intervenciones) el 05/07/2016 07:05:52
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
import javax.swing.JOptionPane;
 
class Encriptador {
 
    public static void main(String[] args) {
        boolean cifrasOk = false;
        String salida;
 
        do {
            int numero = Integer.parseInt(JOptionPane.showInputDialog(
                "Ingrese un n\u00FAmero que inicie en 9 y termine en 9,\n" +
                "sus n\u00FAmeros intermedios deben ser 0, 1, 2 \u00F3 3."
            ));
            char cifras[] = ("" + numero).toCharArray();
 
            salida = "";
            cifrasOk = cifras[0] == '9' && cifras[cifras.length - 1] == '9';
            if (cifrasOk) {
                int i = 0;
                while (i < cifras.length) {
                    switch (cifras[i]) {
                        case '0':
                            salida += "mar\u00EDa";
                            break;
                        case '1':
                            salida += "no";
                            break;
                        case '2':
                            salida += "esta";
                            break;
                        case '3':
                            salida += "feliz";
                            break;
                        case '9':
                            break;
                        default:
                            cifrasOk = cifrasOk && false;
                            break;
                    }
                    salida += " ";
                    ++i;
                }
            } else {
                JOptionPane.showMessageDialog(null, "El n\u00FAmero es incorrecto.");
            }
        } while (!cifrasOk);
 
        JOptionPane.showMessageDialog(null, salida.trim());
    }
 
}
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