wow non conoscevo neanche la classe scanner...cmq
la classe non ti parte vero? Vieni dal C per caso?
Cmq consigli:
- i nomi delle classi di solito iniziano per lettera maiuscola
- non c'è bisogno di dichiarare un costruttore per inizializzare i valori, puoi farlo direttamente nella dichiarazione delle variabili; es:
codice:
String nomefile="";
int sommaCar=0;
int numero_linee=0;
int numero_parole=0;
int palindrome=0;
- i metodi contaLinee e contaCaratteri potresti farli assieme per ragioni computazionali ma tant'è...
- quella sequenza strana di caratteri te la stampa qui
codice:
System.out.println ("File" + in + "letto correttamente");
perchè stai stampando un oggetto Scanner, non il nome del file; se vuoi ottenere il nome del file devi stampare selectedFile.getName()
In una classe, il costruttore è quella funzione che ha per nome lo stesso nome della classe e come parametri di ritorno niente. Viene chiamato come primo metodo quando si costruisce la classe. Puoi definire tanti costruttori che differiscono per i parametri in ingresso(overload di costruttori). Per farne uno che accetta lo scanner basta fare così:
codice:
textAnalyzer(Scanner scanner){
in=scanner;//in è una variabile globale della classe
}
a questo punto "in" sarà accessibile da tutti i metodi della classe, quindi puoi togliere i parametri di input e userà lo scanner come variabile che tu hai passato inizialmente al costruttore.