miren el problema es el siguiente
la cosa es ingertir un arreglo se caracteres y esto e slo que tengo
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:
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
Simplemente haz esto asi:
n=Arr.length - 1;
Porque el length es sin contar desde 0.
PD: creo que tu teclado esta malo.
bueno me kedo asi el codigo y me fucniona bn
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?
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.
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
n=Arr.length;
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
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].
aaa vale muchisimas gracias
ya me kedo claro