"Si realizzi un programma Java che preso in input un file contenente una sequenza
di stringhe, una per riga, e scriva in un file di output la medesima sequenza di input
in cui le stringhe appaiano invertite.
Utilizzare una funzione ricorsiva per l'inversione delle stringhe."
Io ho scritto un codice che in teoria dovrebbe funzionare al 90%
Il problema č che cosģ facendo l'output č vuoto, l'unica cosa che mi viene da pensare č che una volta uscito dal metodo e restituita la stringa si perda il valore, ma com'č possibile?codice:import java.io.*; public class Esercizio1 { public static void main(String []args) throws IOException { FileReader filereader=null; BufferedReader reader=null; PrintWriter out=null; try{ filereader=new FileReader("input.txt"); reader=new BufferedReader(filereader); out=new PrintWriter("OUTPUT.txt"); String s=""; String output=""; while(reader!=null) { s=reader.readLine(); int i=s.length()-2; inverti(s,output,i); out.print(output); } } catch(FileNotFoundException e) { System.out.println("File non trovato"); } catch(NullPointerException e) { } finally{ if(filereader!=null) filereader.close(); if(reader!=null) reader.close(); if(out!=null) out.close(); } } public static String inverti(String s, String output, int i) { if(i<0) { output=output+';'; return output;} else if(i>=0) { output+=s.charAt(i); i--;} return inverti(s,output,i); } }
Se l'output lo sto salvando in una stringa output dichiarata all'inizio com'č che ritorna vuota!!! Il metodo fa quello che deve fare e resttuisce la stringa, ma perchč si perde il valore?
Anche se la salvo in un'altra variabile si perde....

Rispondi quotando

