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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: [1]
1  Programación / Java / Re: duda en codigo con array en: 16 Marzo 2008, 04:06 am
ok gracias tienen razon deberia empezar desde subindice cero no desde el 1 enseguida lo corrijo  :D
2  Programación / Java / duda en codigo con array en: 14 Marzo 2008, 05:43 am
Hola!

Nos pidieron en la escuela un programa que pasa un numero que uno le ingrese por el teclado al programa y lo pase a numero romano  menor que 3999 pero con arreglos y con to.charArray y partir de ellos para pasarlos de unidades, decenas, centenas y milesimas dependiendo su pocision el codigo en si lo tengo compilado en eclipse y no me marca errores pero al ejecutarlo me muestra la exception

345<---- este le ingrese
java.lang.ArrayIndexOutOfBoundsException: 3
   at Romano.main(Romano.java:198)
Exception in thread "main"

Segun se  la exception ArrayIndexOutOfBoundsException  aparece cuando los subindices del arreglo estan fuera de los limites establecidos por la matriz pero segun yo lo ando pasando el String a mi arreglo romano de char y partiendolo en pocision a int sin embargo me genera esa exception

Espero me puedan ayudar :D

Aqui esta el codigo:
Esta algo larguito

import java.io.DataInputStream;
import java.io.IOException;


public class Romano {

   
   public static void main(String[] args) {
      // TODO Auto-generated method stub
      String romanos=leeDato();
      char[] romano=romanos.toCharArray();
      
      if(romano.length==4){
         int r=romano[0];
         
         switch(r){
         case 1:
         System.out.print("M");
         
         break;
         case 2:
         System.out.print("MM");
         
         break;
         case 3:
         System.out.print("MMM");
         
         break;
         }
         int e=romano[1];
         
         switch(e){
         case 1:
            System.out.print("C");
            break;
            case 2:
            System.out.print("CC");
            break;
            case 3:
            System.out.print("CCC");
            break;
            case 4:
            System.out.print("CD");
            break;
            case 5:
            System.out.print("D");
            break;
            case 6:
            System.out.print("DC");
            break;
            case 7:
            System.out.print("DCC" );
            break;
            case 8:
            System.out.print("DCCC");
            break;
            case 9:
            System.out.print("DM");
            break;
            }
         
         int w=romano[2];
         
         
         switch(w){
         case 1:
         System.out.print("X");
         break;
         case 2:
         System.out.print("XX");
         break;
         case 3:
         System.out.print("XXX");
         break;
         case 4:
         System.out.print("XL");
         break;
         case 5:
         System.out.print("L");
         break;
         case 6:
         System.out.print("LX");
         break;
         case 7:
         System.out.print("LXX" );
         break;
         case 8:
         System.out.print("LXXX");
         break;
         case 9:
         System.out.print("XC");
         break;
         }
         int q=romano[3];
      
         
         
         switch(q){
         case 1:
         System.out.print("I");
         break;
         case 2:
         System.out.print("II");
         break;
         case 3:
         System.out.print("III");
         break;
         case 4:
         System.out.print("IV");
         break;
         case 5:
         System.out.print("V");
         break;
         case 6:
         System.out.print("VI");
         break;
         case 7:
         System.out.print("VII" );
         break;
         case 8:
         System.out.print("VIII");
         break;
         case 9:
         System.out.print("IX");
         break;
         }
         }
      
      
if(romano.length==3){
   
   int e=romano[1];
   
   switch(e){
   case 1:
      System.out.print("C");
      break;
      case 2:
      System.out.print("CC");
      break;
      case 3:
      System.out.print("CCC");
      break;
      case 4:
      System.out.print("CD");
      break;
      case 5:
      System.out.print("D");
      break;
      case 6:
      System.out.print("DC");
      break;
      case 7:
      System.out.print("DCC" );
      break;
      case 8:
      System.out.print("DCCC");
      break;
      case 9:
      System.out.print("DM");
      break;
      }
   
   int w=romano[2];

   
   switch(w){
   case 1:
   System.out.print("X");
   break;
   case 2:
   System.out.print("XX");
   break;
   case 3:
   System.out.print("XXX");
   break;
   case 4:
   System.out.print("XL");
   break;
   case 5:
   System.out.print("L");
   break;
   case 6:
   System.out.print("LX");
   break;
   case 7:
   System.out.print("LXX" );
   break;
   case 8:
   System.out.print("LXXX");
   break;
   case 9:
   System.out.print("XC");
   break;
   }
   int q=romano[3];

   
   
   switch(q){
   case 1:
   System.out.print("I");
   break;
   case 2:
   System.out.print("II");
   break;
   case 3:
   System.out.print("III");
   break;
   case 4:
   System.out.print("IV");
   break;
   case 5:
   System.out.print("V");
   break;
   case 6:
   System.out.print("VI");
   break;
   case 7:
   System.out.print("VII" );
   break;
   case 8:
   System.out.print("VIII");
   break;
   case 9:
   System.out.print("IX");
   break;
   }
      }
if(romano.length==2){
   int w=romano[2];
   
   
   switch(w){
   case 1:
   System.out.print("X");
   break;
   case 2:
   System.out.print("XX");
   break;
   case 3:
   System.out.print("XXX");
   break;
   case 4:
   System.out.print("XL");
   break;
   case 5:
   System.out.print("L");
   break;
   case 6:
   System.out.print("LX");
   break;
   case 7:
   System.out.print("LXX" );
   break;
   case 8:
   System.out.print("LXXX");
   break;
   case 9:
   System.out.print("XC");
   break;
   }
   int q=romano[3];
      
   switch(q){
   case 1:
   System.out.print("I");
   break;
   case 2:
   System.out.print("II");
   break;
   case 3:
   System.out.print("III");
   break;
   case 4:
   System.out.print("IV");
   break;
   case 5:
   System.out.print("V");
   break;
   case 6:
   System.out.print("VI");
   break;
   case 7:
   System.out.print("VII" );
   break;
   case 8:
   System.out.print("VIII");
   break;
   case 9:
   System.out.print("IX");
   break;
   }
   
}
if(romano.length==1){
   int q=romano[3];
   
   switch(q){
   case 1:
   System.out.print("I");
   break;
   case 2:
   System.out.print("II");
   break;
   case 3:
   System.out.print("III");
   break;
   case 4:
   System.out.print("IV");
   break;
   case 5:
   System.out.print("V");
   break;
   case 6:
   System.out.print("VI");
   break;
   case 7:
   System.out.print("VII" );
   break;
   case 8:
   System.out.print("VIII");
   break;
   case 9:
   System.out.print("IX");
   break;
   }
   
}
      
      
   }
   public static String leeDato() {
      String dato = "";
      try {
         DataInputStream intro = new DataInputStream(System.in);
         dato = intro.readLine();
      } catch (IOException e) {
         System.out.println("leeDato-- Error de Entrada/Salida : " + e);
      }
      return dato;
   }
}



Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines