ayuda plz bastante basica la cosa pero ayuden plz

Iniciado por Toryas, 23 Junio 2007, 04:26 AM

0 Miembros y 1 Visitante están viendo este tema.

Toryas

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

Crack_X

Simplemente haz esto asi:


n=Arr.length - 1;


Porque el length es sin contar desde 0.

PD: creo que tu teclado esta malo.
Shit loads of money spend to show us wrong from right. Say no to war


Yasser Has Things To Say
WarZone

Toryas

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?

Crack_X

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.
Shit loads of money spend to show us wrong from right. Say no to war


Yasser Has Things To Say
WarZone

Toryas

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

Crack_X

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].
Shit loads of money spend to show us wrong from right. Say no to war


Yasser Has Things To Say
WarZone

Toryas