elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
27 Mayo 2012, 23:45  


Tema destacado: [AIO elhacker.NET] Compilación herramientas análisis y desinfección malware

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java (Moderadores: Debci, Leyer)
| | | |-+  se atasca en una instruccion
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: se atasca en una instruccion  (Leído 1,047 veces)
Tyrz


Desconectado Desconectado

Mensajes: 917


Get big or die tryin'


Ver Perfil WWW
se atasca en una instruccion
« en: 11 Enero 2011, 11:51 »

Buenas!

mi problema esq he hecho varios programas en los que almaceno caracteres introducidos por teclado en un array de caracteres.

Siempre que hago algo como esto:
Código:
frases[1].caracteres[1]=c;

Este array de arrays de caracteres deja a mi java en estado de running pero no muestra nada.

Si hago un bucle como este:

Código:
while(c!=' '){
                    System.out.println("Aqui llega");
                    frases[1].caracteres[1]=c;
                    System.out.println("Aqui NO");
                    i++;
                    c=(char)System.in.read();
                }

Mostrara muchas veces el "Aqui llega" pero el "Aqui NO" ninguna vez.
No pongo el codigo completo porq supongo que estoy aaciendo algo mal en esa asignacion.

A ver si alguien puede decirme porq esta mal esa instruccion.
Gracias!


« Última modificación: 11 Enero 2011, 11:53 por Tyrz » En línea

kasiko

Desconectado Desconectado

Mensajes: 191



Ver Perfil
Re: se atasca en una instruccion
« Respuesta #1 en: 11 Enero 2011, 22:22 »

prueba primero a hacer cosas con arrays de caracteres solo, a rellenarlo y a ver su contenido.

Despues prueba con los arrays de arrays de caracteres...  :rolleyes:


En línea

Nos vemos...

Tyrz


Desconectado Desconectado

Mensajes: 917


Get big or die tryin'


Ver Perfil WWW
Re: se atasca en una instruccion
« Respuesta #2 en: 12 Enero 2011, 08:58 »

Gracias me has sido muy útil.

PD: No
En línea

kasiko

Desconectado Desconectado

Mensajes: 191



Ver Perfil
Re: se atasca en una instruccion
« Respuesta #3 en: 12 Enero 2011, 10:12 »

Gracias me has sido muy útil.

PD: No

A ver si esto te resulta mas util... tanto para almacenar datos en un array/vector/arreglo como para recuperar datos, se tiene que hacer a traves de un indice...

Dime que es lo que hace esta instruccion:
Citar
while(c!=' '){
                   ....
                   i++; // <-- ¿¿¿¿????
                   ....
                 }



PD: es recomendable leer esto http://foro.elhacker.net/java/como_redactar_tu_codigo_para_exponer_dudas-t315512.0.html
« Última modificación: 12 Enero 2011, 10:14 por kasiko » En línea

Nos vemos...

Tyrz


Desconectado Desconectado

Mensajes: 917


Get big or die tryin'


Ver Perfil WWW
Re: se atasca en una instruccion
« Respuesta #4 en: 12 Enero 2011, 12:22 »

solo estaba probando porq no pasa de ahi, en realidad es

Código:
while(c!='\n'){
                while(c==' '){
                    c=(char)System.in.read();
                }
                while((c!=' ')&&(c!='.')&&(c!='\n')){
                    System.out.println("Aqui llega");
                    frases[l].caracteres[i]=c;
                    System.out.println("Aqui NO");
                   
                    i++;
                    c=(char)System.in.read();
                }
                i


la cosa es que ni siquiera me deja ver el "aqui no" :S
Gracias!
En línea

kasiko

Desconectado Desconectado

Mensajes: 191



Ver Perfil
Re: se atasca en una instruccion
« Respuesta #5 en: 12 Enero 2011, 12:44 »

a ver si esto te aclara las cosas

Código:

/**
 *
 * @author kasiko
 */
public class NewClass1 {

    private static final int tamaño = 20;

    public static void main(String[] args) {
        char[] a = new char[tamaño];

        //metemos datos
        for (int i = 0; i < tamaño; i++) {
            a[i] = (char) ('a' + i);
        }

        //sacamos datos
        for (int i = 0; i < tamaño; i++) {
            System.out.println("Posicion: " + i + " valor: " + a[i]);
        }
    }
}


« Última modificación: 12 Enero 2011, 12:50 por kasiko » En línea

Nos vemos...

Debci
Moderador
***
Desconectado Desconectado

Mensajes: 1.945


Actualizate o muere!


Ver Perfil WWW
Re: se atasca en una instruccion
« Respuesta #6 en: 19 Enero 2011, 21:54 »

Te lo esta diciendo el compañero...
Ese indice, por mucho que lo cambies si no lo asignas al array, es como gritar enmedio del mar...

Saludos
En línea

ChavalChavito

Desconectado Desconectado

Mensajes: 13


Y ahora que pasa...


Ver Perfil
Re: se atasca en una instruccion
« Respuesta #7 en: 20 Enero 2011, 06:42 »

Aver si te entendi lo q qieres hacer.. suponiendo que el arreglo ya esta cargado asi lo recorrerias ..

for ( int i = 0; i < arregloChar.length; i ++ ){
   if ((arregloChar [ i ] !=' ')&&(arregloChar [ i ] ='.')&&(arregloChar [ i ]! ='\n'))
        System.out.println("Aqui llega");
   else         
        System.out.println("Aqui no llega");
   
}
Y si lo q tu qieres es ir analizando x cada vez q tecleas, mas facil inclusive, lo haces justo despues d hacer la lectura :S
En línea
Tyrz


Desconectado Desconectado

Mensajes: 917


Get big or die tryin'


Ver Perfil WWW
Re: se atasca en una instruccion
« Respuesta #8 en: 20 Enero 2011, 14:49 »

no lo habeis entendido del todo, el problema esq cuando llega aqui:

Código:
frases[1].caracteres[1]=c;

Se queda parado, por eso puse lo de "Aqui llega", "Aqui no" porq aunq el "aqui no" está dentro del bucle no lo muestra ni una vez. En cambio el "aqui llega" aparece una vez.

El problema no es el indice ya que puse 1 solo por probar, para ver si no se quedaba parado como ya digo pero hace lo mismo.

De todas formas hice el programa sin este array de otro array ya está terminado.

Gracias a todos de todas formas!
En línea

kasiko

Desconectado Desconectado

Mensajes: 191



Ver Perfil
Re: se atasca en una instruccion
« Respuesta #9 en: 21 Enero 2011, 20:57 »

....

De todas formas hice el programa sin este array de otro array ya está terminado.

Gracias a todos de todas formas!

Fenomenal  :rolleyes:
En línea

Nos vemos...

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Instruccion no permitida
Programación General
Rozor 2 504 Último mensaje 3 Septiembre 2007, 14:04
por Rozor
wifislax 3.1 se atasca con "fwrite (packet data) failed:No space left on device"
Wireless en Linux
madala 12 6,239 Último mensaje 24 Marzo 2009, 17:48
por Dani28
Equivalencia C a ASM de una instrucción.
Electrónica
Meta 3 3,420 Último mensaje 19 Octubre 2008, 06:24
por MARCO_RECARGADO
primera instruccion PE!!!
Programación C/C++
leo17 1 470 Último mensaje 19 Noviembre 2008, 21:58
por Eternal Idol
WifiSlax se Atasca
Wireless en Linux
Dk12º 1 430 Último mensaje 14 Mayo 2009, 18:44
por manolin2
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines