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);
}
}