Foros del Web » Programación para mayores de 30 ;) » Java »

Iniciandome en Java

Estas en el tema de Iniciandome en Java en el foro de Java en Foros del Web. Hola a tod@s: Estoy empezando con Java y pum, el primer tropiezo. tengo esto en dos clases: Código: /*Clase PRINCIPAL*/ import java.io.*; public class Principal ...
  #1 (permalink)  
Antiguo 11/03/2006, 23:06
 
Fecha de Ingreso: marzo-2006
Mensajes: 25
Antigüedad: 18 años, 2 meses
Puntos: 0
Iniciandome en Java

Hola a tod@s:

Estoy empezando con Java y pum, el primer tropiezo.
tengo esto en dos clases:

Código:
/*Clase PRINCIPAL*/
import java.io.*;
public class Principal {
    public Principal() {
        
    }
    public static void main(String [] args){
        Entrada_Salida es = new Entrada_Salida();        
        System.out.println(es.consola());
    }
}
/*Clase ENTRADA_SALIDA*/
import java.io.*;
public class Entrada_Salida {
    public Entrada_Salida() {
    }
    public String consola(){
        String  a = "";
        int i=0;
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        /*System.out.println((i++)+" Escriba algo:");
        try{
            a = bf.readLine();
        }catch(IOException ioe){};*/
        while(a==""){
            System.out.println((i++)+" Escriba algo:");
            try{
                a = bf.readLine();
            }catch(IOException ioe){};   
            if(a.length()<0){
                break;
            }
        }
        return a;
    }
}
Ya digo que son clases separadas aunque forman parte de un mismo paquete.
Lo que pretendo es hacer que se repita la pregunta hasta que ésta sea contestada pero nada de nada.
  #2 (permalink)  
Antiguo 12/03/2006, 13:52
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 20 años
Puntos: 53
no entendi bien, pero tu problema es que no estas leyendo bien del teclado? cual pregunta? :

mmmmmmmmm podrias dar mas detalles?
  #3 (permalink)  
Antiguo 13/03/2006, 10:53
 
Fecha de Ingreso: marzo-2006
Mensajes: 25
Antigüedad: 18 años, 2 meses
Puntos: 0
Claro que si:

Lo que pretendia es que el usuario se vea obligado a responder algo, lo que sea, aunque sea un espacio en blanco para que readLine() lo recoja.

Ahora bien, cuando le doy a intro, sin escribir nada en lugar de volver a decir, "Escriba algo", finaliza la aplicación, y es lo que pretendia evitar.

Gracias por el interés.

Si hay algun novat@ como yo que tenga dificultades le dejo la solución que encontré.

Código:
/*Clase PRINCIPAL*/
import java.io.*;
public class Principal {    
    public Principal() { 
        
    }
    public static void main(String [] args){
        Entrada_Salida es = new Entrada_Salida();        
        es.consola();
    }
}
/*Clase ENTRADA_SALIDA*/
import java.io.*;
public class Entrada_Salida {    
    public Entrada_Salida() {  
        
    }
    public String consola(){
        String  a = "";
        int i=0;
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        do{
            System.out.println((i++)+" Escriba algo:");
            try{
                a = bf.readLine();
            }catch(IOException ioe){};   
            if(a.length()>0){
                break;
            }
        }while(a!="");
        return a;
    }
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:32.