/** memorizza in un archivio numeri complessi (che non realizzano l'interfaccia java.lang.Comparable!) uso: $ java ProvaArchivioOrdinabile1 complex.txt out.txt @author Adriano Luchetta @version 7-Nov-2003 @version 20-Nov-2004 */ import java.io.PrintWriter; import java.io.FileReader; import java.io.IOException; import java.util.Scanner; import java.util.NoSuchElementException; public class ProvaContenitoreOrdinabile1 { public static void main(String[] args) throws IOException { if (args.length < 2) { System.out.println("uso: $java Archivio "); return; } ContenitoreOrdinabile archivio = new ContenitoreOrdinabile(); Scanner in = new Scanner(new FileReader(args[0])); int contatoreDiRiga = 0; while (in.hasNextLine()) { contatoreDiRiga++; String riga = in.nextLine(); Scanner st = new Scanner(riga); st.useDelimiter("[ ,]+"); // delimitatori ' ' e ',' try { double re = st.nextDouble(); double im = st.nextDouble(); archivio.aggiungi(new Complex(re, im)); } catch (NoSuchElementException e) { System.out.println("riga " + contatoreDiRiga + " errata: " + riga); } catch (NumberFormatException e) { System.out.println("riga " + contatoreDiRiga + " errata: " + riga); } } in.close(); PrintWriter writer = new PrintWriter(args[1]); while (!archivio.isEmpty()) writer.println((Complex)archivio.togliUltimo()); writer.close(); } }