Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Toryas en 23 Junio 2007, 04:26 am



Título: ayuda plz bastante basica la cosa pero ayuden plz
Publicado por: Toryas en 23 Junio 2007, 04:26 am
miren el problema es el siguiente

la cosa es ingertir un arreglo se caracteres y esto e slo que tengo
Código:
class lala{

public static void invierte(char[] Arr,char[] Err ){

int n,i;
n=Arr.length;
i=0;
while (i<n){
Arr[i]=Err[n];
i++;

}
}
public static void main(String[] arg){
char[] A=new char[5];
A[0]='a';
A[1]='b';
A[2]='c';
A[3]='d';
A[4]='e';
int x=A.length;
char[] B=new char[x];
invierte(A,B);
int o=0;
while(o<x){
System.out.println(B[o]);
o++;
}

}
}

bueno lo compilo bn y cuanod ejecuta me tira el error:
Código:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
    at lala.invierte(lala.java:9)
    at lala.main(lala.java:23)

y nos e como arreglarlo si pudierann ayudarme se los agradecerias


Título: Re: ayuda plz bastante basica la cosa pero ayuden plz
Publicado por: Crack_X en 23 Junio 2007, 08:32 am
Simplemente haz esto asi:

Código:
		n=Arr.length - 1;

Porque el length es sin contar desde 0.

PD: creo que tu teclado esta malo.


Título: Re: ayuda plz bastante basica la cosa pero ayuden plz
Publicado por: Toryas en 23 Junio 2007, 19:52 pm
bueno me kedo asi el codigo y me fucniona bn

Código:
class lala{

public static void invierte(char[] Arr,char[] Err ){

int n,i,e;
n=Arr.length-1;
i=0;
e=n;
while (i<=n){
Err[i]=Arr[e];
i++;
e=e-1;

}

}
public static void main(String[] arg){
char[] A=new char[6];
A[0]='a';
A[1]='b';
A[2]='c';
A[3]='d';
A[4]='e';
A[5]='f';
char[] B=new char[6];
invierte(A,B);
int o=0;
while(o<6){
System.out.println(B[o]);
o++;
}

}
}

ahora 2 preguntas porke el length no cuenta el 0?

y lo otro porke mi teclado esta malo?


Título: Re: ayuda plz bastante basica la cosa pero ayuden plz
Publicado por: Crack_X en 24 Junio 2007, 02:13 am
No cuenta desde 0 porque nadie empieza a contar desde 0 pero en informatica si, contradictorio pero asi es.

Tu teclado aparenta malo porque no escribes palabras bien.


Título: Re: ayuda plz bastante basica la cosa pero ayuden plz
Publicado por: Toryas en 24 Junio 2007, 03:16 am
mm. sorry si escribo mal eske mi otrografia es pesima y acorto palabras y tb suelo saltarme dedelantarme en los espacios XD

bueno lo que no cacho bn e sla explicacion que me disce de eos de contrar desde 0 porke por ejemplo aka parte  desde 0

ojo
Código:
n=Arr.length;

Código:
class lala{

public static void inicia(int[] Arr){


int n,i,j;
n=Arr.length;
i = 0;
j = 0;
while (i<n){
Arr[i]=j;
i++;
j=j+4;
}
}
public static void main(String[] arg){
int[] A=new int[5];
inicia(A);
int u,o;
o=A.length;
u=0;
while (u<o){
System.out.println(A[u]);
u++;
}
}
}

tonce sno cachola diferencia


Título: Re: ayuda plz bastante basica la cosa pero ayuden plz
Publicado por: Crack_X en 24 Junio 2007, 03:52 am
Creas el array A de tamagno 5. Cuando pones A.length te devuelve 5 porque es el tamagno que lo creaste. Pero no existe A[5] . El array es:

A[0], A[1], A[2], A[3], A[4] <- si lo cuentas son 5 pero no existe un A[5].


Título: Re: ayuda plz bastante basica la cosa pero ayuden plz
Publicado por: Toryas en 24 Junio 2007, 06:47 am
aaa vale muchisimas gracias

ya me kedo claro