Ciao ragazzi,
Mi sono fatto una classe di gestione dell'input il problema è che non riesco a fare delle chiamate al metodo di lettura del buffer in sequenza.
In pratica mi legge solo la prima lettura e poi mi salta le altre.
Ho notato che chiudendo il buffer e reinzializzandolo il problema si risolve.

Il mio problema sta nel mettere la reinizializzazione del buffer all'interno della classe dell'input.
Ho provato in questo modo
Codice PHP:
public class Input{
    private 
InputStreamReader sin;
    private 
BufferedReader buf;
    
    public 
Input(){
        
sin = new InputStreamReader(System.in);
        
buf = new BufferedReader(sin);
    }
    
    public 
String readLine(){
        
boolean flag false;
        
String arg "";
        while(!
flag){
            try{
                if(
buf == null){
                    new 
Input();
                }        
                
arg buf.readLine();
                
flag true;
                
finalize();
            }catch(
IOException ex){
                
System.err.println(ex);
            }
        }
        
        return 
arg;
    }
    
    public 
int readInt(){
        
boolean flag false;
        
int arg 0;
        while(!
flag){
            try{
                if(
buf == null){
                    new 
Input();
                }
                
arg buf.read();
                
flag true;
                
finalize();
            }catch(
IOException ex){
                
System.err.println(ex);
            }
        }
        
        return 
arg;
    }
    
    public 
void finalize(){
        try{
            
sin.close();
            
buf.close();
        }catch(
IOException ex){
            
System.err.println(ex);
        }
        
sin null;
        
buf null;
    }

Ma mi rimanda un NullPointerException in quanto non riesce a reinizializzare l'oggetto dal debug ho visto che all'interno dei metodi read quando buf e sin sono null mi salta l'if che richiama il costruttore di classe.

Come posso fare?

Ciao