ciao a tutti!!!
mi sono incastrato in un esercizio di java sui file di lettura e scrittura...l'esercizio sarebbe dato un file.txt leggere il contenuto e cambiare l'interno delle parole più grandi di tre lettere cioè lasciare la prima e l'ultima parola e mischiare le lettere rimanenti.es: gatto=gtato.
Il testo è il seguente:
"Secondo una ricerca dell’Università di Cambridge non importa l’ordine delle lettere in una parola, l’unica cosa che conta è che la prima e l’ultima lettera siano al posto giusto. Tutte le altre lettere della parola possono essere invertite senza creare problemi alla lettura."
e dovrebbe convertirsi più o meno in questo:
Sceodno una rcircea dlel’Uvitrisenà di Cmbairgde non ipromta l’odirne dlele lrteete in una proala, l’uicna csoa che cntoa è che la pimra e l’utlmia ltetrea saino al psoto gusito. Ttute le atlre lrteete dlela poalra psonoso esrsee itinvtere snzea carere prleobmi alla letutra.
io ho lo vorrei inserire qua dentro:
codice:
public static void main(String[] args) {
String nativeLF = UIManager.getSystemLookAndFeelClassName();
try {
UIManager.setLookAndFeel(nativeLF);
} catch (Exception e) {
}
JFileChooser selector = new JFileChooser();
selector.setFileSelectionMode(JFileChooser.FILES_ONLY);
int ok = selector.showOpenDialog(null);
if (ok != JFileChooser.APPROVE_OPTION) {
JOptionPane.showMessageDialog(null, "ciao, alla prossima");
} else {
File fitxerEntrada = selector.getSelectedFile();
String parola = null;
try {
Scanner entra = new Scanner(fitxerEntra);
parola = entra.next();
System.out.println("Prima parola=" + parola);
} catch (FileNotFoundException e) {
System.out.println("file non trovato");
}
JFileChooser selector2 = new JFileChooser();
int ok2 = selector2.showSaveDialog(null);
if (ok2 != JFileChooser.APPROVE_OPTION) {
JOptionPane.showMessageDialog(null, "ciao. alla prossima");
} else {
File fitxerEsci = selector2.getSelectedFile();
try {
PrintWriter pw = new PrintWriter(new FileWriter(fitxerEsci, true));
pw.println(parola);
pw.println("funzione que mi converta il testo");//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
pw.close();
} catch (IOException e) {
System.out.println("Problemes d'E/S");
}
}
}
}
}
un pò laborioso...però il tema è trovare la funzione che separa le parole e cambia il suo interno. Io ho provato con:
codice:
try {
BufferedReader leer = new BufferedReader(new FileReader(archivo));
while ((s = leer.readLine()) != null) {
StringTokenizer st = new StringTokenizer(s);
st.countTokens();
while (st.hasMoreElements()) {
parola = st.nextToken();
} }
leer.close();
} catch (IOException e) {
System.out.println("error bufferReader3");
}
però non so come continuare!!
qualcuno mi sa aiutare???
grazie della pazienza