Java - ayuda con mi programa java no encuentro mi error

 
Vista:

ayuda con mi programa java no encuentro mi error

Publicado por Rodolfo (1 intervención) el 17/05/2012 03:09:00
lo que pasa es que no me imprime nada!, no me marca error pero en cuanto capturo el valor finaliza la aplicacion lo que se supone deveria hacer es convertirme el numero a numero romano les dejo el codigo

de antemano muchas gracias! :)


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
90
91
92
93
94
95
96
97
import java.util.Scanner;
public class decimal_a_romano {
    public static void main(String[]args){
    int num=500;
    String romano="";
    Scanner e = new Scanner (System.in);
 
        System.out.println("que numero desea convertir a romano? entre el 0 y el 1000");
    num = e.nextInt();
 
    if(num<1000){
 
 
 
    while(num>0){
        if(num>1000){
        romano = romano+"M";
        num =-1000;
        }
        else if(num>500){
        romano = romano+"D";
        num=-500;
        }
        else if(num>100){
        romano = romano+"C";
        num=-100;
        }
        else if(num>89 && num<100){
        romano = romano+"XC";
        num=-90;
        }
        else if(num>79 && num<90){
        romano = romano+"LXXX";
        num=-80;
        }
        else if(num>69 && num<80){
        romano = romano+"LXX";
        num=-70;
        }
        else if(num>59 && num<70){
        romano = romano+"LX";
        num=-60;
        }
        else if(num>49 && num<60){
        romano = romano+"L";
        num=-50;
        }
        else if(num>39 && num<50){
        romano=romano+"XL";
        num=-40;
        }
        else if(num>29 && num<40){
        romano = romano+"XXX";
        num=-30;
        }
        else if(num>19 && num<30){
        romano = romano+"XX";
        num=-20;
        }
        else if(num>9 && num<20){
        romano = romano+"X";
        num=-10;
        }
        else if(num==9){
        romano = romano+"IX";
        num=-9;
        }
        else if(num>5 && num<9){
        romano = romano+"V";
        num=-5;
        }
        else if(num==4){
        romano=romano+"IV";
        num=-4;
        }
        else if(num==3){
        romano = romano+"III";
        num=-3;
        }
        else if(num==2){
        romano = romano+"II";
        num=-2;
        }
        else if(num==1){
        romano=romano+"I";
        num=-1;
        }
        else if(num==0){
            System.out.println(romano);
        }
 
    }
    }
 
 
    }
    }
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

ayuda con mi programa java no encuentro mi error

Publicado por VhoScript (5 intervenciones) el 17/05/2012 03:53:59
Proba esta clase


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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
package clases;
 
import java.util.Scanner;
 
/**
 *
 * @author hector oscar villani
 */
public class decimal_a_romano {
 
 
 private int n;
  private String nr="";
  public String DeterminaRomano(int n)
   {
    this.n=n;
    Romano();
    return nr;
   }
     private void Romano()
     {
     int um;
     um=(n-(n % 1000))/1000;
       switch(um)
    {
    case 1: nr=nr+"M";
         break;
    case 2: nr=nr+"MM";
         break;
    case 3: nr=nr+"MMM";
         break;
    default:break;
    }
     int c;
     c=(n-(um*1000)-(n%100))/100;
       switch(c)
    {
    case 1: nr=nr+"C";
         break;
    case 2: nr=nr+"CC";
         break;
    case 3: nr=nr+"CCC";
         break;
    case 4: nr=nr+"CD";
         break;
    case 5: nr=nr+"D";
         break;
    case 6: nr=nr+"DC";
         break;
    case 7: nr=nr+"DCC";
         break;
    case 8: nr=nr+"DCCC";
         break;
    case 9: nr=nr+"CM";
         break;
    default:break;
    }
     int D;
     D=(n-(um*1000)-(c*100)-(n%10))/10;
       switch(D)
    {
 
    case 1: nr=nr+"X";
         break;
    case 2: nr=nr+"XX";
         break;
    case 3: nr=nr+"***";
         break;
    case 4: nr=nr+"XL";
         break;
    case 5: nr=nr+"L";
         break;
    case 6: nr=nr+"LX";
         break;
    case 7: nr=nr+"LXX";
         break;
    case 8: nr=nr+"LXXX";
         break;
    case 9: nr=nr+"XC";
         break;
    default:break;
    }
     int u= n % 10;
       switch(u)
    {
    case 1: nr=nr+"I";
         break;
    case 2: nr=nr+"II";
         break;
    case 3: nr=nr+"III";
         break;
    case 4: nr=nr+"IV";
         break;
    case 5: nr=nr+"V";
         break;
    case 6: nr=nr+"VI";
         break;
    case 7: nr=nr+"VII";
         break;
    case 8: nr=nr+"VII";
         break;
    case 9: nr=nr+"Ix";
         break;
    default:break;
    }
    }
 
   public static void main(String[]x)
      {
      Scanner entrada = new Scanner(System.in);
      String nr="";
      System.out.println("dame el anio");
      int n =entrada.nextInt();
      decimal_a_romano romano = new decimal_a_romano();
      nr= romano.DeterminaRomano(n);
      System.out.println("El Numero ES: "+nr);
      }
}
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