Ciao![]()
spero che qualcuno di voi possa darmi una mano a chiarire un mio dubbio. Il programmino che voglio sviluppare prende in ingresso i caratteri digitati da tastiera e li analizza.
- nel main chiamo la funzione read che confronta l'input con una stringa predefinita;
- il confronto viene eseguito tramite la funzione match() che ritorna un booleano e ha in ingresso le due stringhe da comparare
- la stringa in ingresso viene prelevata dalla funzione readLine(), definita in un'altra classe.
Il codice non da errori e legge gli input da tastiera, l'unico problema è che non riesco a fare il confronto, cioè, se scrivo:
jkhvldkzhvflkdbglkdCIAOlknbv
vorrei che il codice facendomi il confronto man mano che inserisco input, e quando trova la parola ciao mi dica che la parola è stata trovata.. chi mi aiuta?
qua vi posto i due codici:
codice:import java.io.*; import static java.lang.System.in; import java.lang.*; public class Ex { public static boolean match(TestRead str,String stringa) throws IOException { if(str.equals(stringa)) { return true; } else return false; } static final int A=0, B=1; public static int read() throws IOException { String line=""; TestRead in = new TestRead(); in.ReadLine(); if(match(in,"ciao")) return A; else return B; } public static void main(String[] args) throws IOException { int ch; ch = read(); if(ch==A){ System.out.println("ciao"); } else { System.out.println("niente"); } } } // End of class // classe ausiliare import java.io.*; import static java.lang.System.in; import java.lang.*; public class TestRead { String ReadLine() throws IOException { BufferedReader reader= new BufferedReader(new InputStreamReader(System.in)); String linea= reader.readLine(); do{ return linea; }while(linea!=null); } }

Rispondi quotando