Ciao a tutti, sto studiando Java da poco..2/3 giorni ed ho provato a fare il mio primo programmino (stupido) per vedere se ho appreso qualcosa. Il programma funziona ma ho il dubbio di non aver capito quando e come usare i costruttori ed i metodi =| ... cioè teoricamente lo so, ma praticamente non lo so
Questo è il programmino che ho sviluppato, in pratica faccio inserire una parola e stampo a video i caratteri successivi della parola inserita
codice:import java.io.*; public class stringa { //costruttore oggetto public stringa (String testo){ //recupero le lettere della parola inserita char [] lettere= new char[testo.length()]; //creo l'array con le lettere successive char [] lettere2= new char[testo.length()]; for (int i=0; i<lettere.length; i++){ lettere[i] = testo.charAt(i); lettere2[i] = (char)(lettere[i]+1); System.out.print(lettere[i]+"\t"+lettere2[i]); System.out.println(""); } } public static void main(String[] args) { //chiedo di scrivere una stringa System.out.println("Inserisci una parola ('end' per terminare)"); //faccio inserire il testo InputStreamReader a = new InputStreamReader(System.in); //salvo il testo digitato in un buffer BufferedReader in=new BufferedReader(a); //creo la stringa in cui salverò il testo String s = new String(); //creo un ciclo che permetta di inserire caratteri finchè non si digita end while (s.compareTo("end")!=0){ //con il metodo try / catch converto il testo digitato da tastiera in testo try{ s=in.readLine(); //legge il contenuto inserito da tastiera e lo salva in stringa if (s.compareTo("end")!=0) { stringa e=new stringa(s); } } catch(IOException e){ System.out.println("Devi inserire una parola"); break; } } } }
le mie domande sono 2:
1. il costruttore stringa è corretto? sarebbe stato più corretto usare un metodo? se si come?
2. se avessi voluto far terminare il programma alla pressione di [INVIO] invece che con la parola 'end' come avrei dovuto fare? ci ho provato ma non riesco a farlo..ho trovato in giro un esempio che sfruttava il package Scanner..ma non riesco ad adattarlo![]()