Foro de elhacker.net

Programación => Java => Mensaje iniciado por: BestialPro en 31 Enero 2008, 03:55 am



Título: Java:Correcta utilizacion de while y for.
Publicado por: BestialPro en 31 Enero 2008, 03:55 am
Muy buenas,

Queria saber si podiais resolverme esta duda.

Se que tanto while y for pueden hacer lo mismo pero que a su vez, es mas correcta la utilizacion de uno que de otro segun que casos.

BIen, yo tengo entendido que un bucle for hay que usarlo siempre que se sepa el numero de iteraciones que se han de realizar verdad?

Pero tambien me han dicho que siempre que recorremos un array tenemos que recorrer este con un bucle for.

Ahora mi pregunta es; si tenemos un String con "n" caracteres ( no lo sabemos porque se puede modificar) y tenemos que recorrer el string caracter por caracter, que utilizamos while o for?se supone que un string es como un array de caracteres verdad?

Y si no conociesemos realmente el numero de objetos que tiene el array porque depende de un metodo o del numero que le indiquemos segun la ejecucion del programa? tambien es correcto usar for?

A ver si podeis ayudarme, muchas gracias.



Título: Re: Java:Correcta utilizacion de while y for.
Publicado por: Ragnarok en 31 Enero 2008, 04:22 am
Ahora mi pregunta es; si tenemos un String con "n" caracteres ( no lo sabemos porque se puede modificar) y tenemos que recorrer el string caracter por caracter, que utilizamos while o for?
for
se supone que un string es como un array de caracteres verdad?


Y si no conociesemos realmente el numero de objetos que tiene el array porque depende de un metodo o del numero que le indiquemos segun la ejecucion del programa? tambien es correcto usar for?



For para recorridos, while para iterar mientras se cumpla una condición.


Título: Re: Java:Correcta utilizacion de while y for.
Publicado por: Casidiablo en 31 Enero 2008, 15:31 pm
Hay algo que debes (y deben la mayoría) tener claro. En C/C++ recuerdo que los strings se podían usar como arreglos de caracteres "literalmente hablando". Por lo tanto podías hacer cosas como intentar recuperar un caracter de la cadena así:

Código:
cadena[x]

Pero, en Java la cosa cambia un poco. Las cadenas, o sea objetos de la clase String, son tratados como OBJETOS. Por tanto, es necesario acceder a sus componentes a través de métodos y variables (del objeto). En ese órden de ideas, si por ejemplo quieres en cualquier momento saber la longitud de una cadena, puedes hacer esto:

Código:
//En la variable longitud se guardará la, valga la redundancia, longitud de la cadena
int longitud = cadena.length();

De esta forma, puedes tranquilamente hacer cosas como estas (tal como te comentaba mi amigo Ragnarok):

Código:
for ( int cuenta = 1; cuenta < cadena.length(); cuenta++ )
//Lo que sea!

Un saludo!


Título: Re: Java:Correcta utilizacion de while y for.
Publicado por: 43H4FH44H45H4CH49H56H45H en 31 Enero 2008, 15:33 pm
Muy buenas,

Queria saber si podiais resolverme esta duda.

Se que tanto while y for pueden hacer lo mismo pero que a su vez, es mas correcta la utilizacion de uno que de otro segun que casos.

BIen, yo tengo entendido que un bucle for hay que usarlo siempre que se sepa el numero de iteraciones que se han de realizar verdad?

Pero tambien me han dicho que siempre que recorremos un array tenemos que recorrer este con un bucle for.

Ahora mi pregunta es; si tenemos un String con "n" caracteres ( no lo sabemos porque se puede modificar) y tenemos que recorrer el string caracter por caracter, que utilizamos while o for?se supone que un string es como un array de caracteres verdad?

Y si no conociesemos realmente el numero de objetos que tiene el array porque depende de un metodo o del numero que le indiquemos segun la ejecucion del programa? tambien es correcto usar for?

A ver si podeis ayudarme, muchas gracias.


Para complementar:
La verdad puedes utilizar tanto for como while en mi caso cuando se trata de cuenta de caracteres utilizo while con system.in.read caracter por caracter colocando como condicion booleana a while mientras el contador sea diferente a el caracter en ascii que representa el salto de linea, el intro, o algun caracter "!=65"  por ejemplo, lo mismo puedes utilizar con for, hay muchos modos es solo un ejemplo.


Título: Re: Java:Correcta utilizacion de while y for.
Publicado por: Ragnarok en 1 Febrero 2008, 00:54 am
Uhm... creía que los Strings implementaban el interfaz 'iterable' :P, yo desde luego se lo pondría a muchas más clases.

Sí así fuera no haría falta la aclaración de Casidiablo, que está siempre atento  ;)