/** * ProvaContenitoreOrdinato2 * memorizza in un archivio ordinato numeri complessi * (che non realizzano l'interfaccia java.lang.Comparable!) * * uso: $ java ProvaContenitoreOrdinato2 complex.txt out.txt * * @author Adriano Luchetta * @version 7-Nov-2003 * @version 20-Nov-2004 */ import java.util.Scanner; import java.util.NoSuchElementException; public class ProvaContenitoreOrdinato2 { public static void main(String[] args) { ContenitoreOrdinato archivio = new ContenitoreOrdinato(); Scanner in = new Scanner(System.in); 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 MyComplex(re, im)); } catch (NoSuchElementException e) { System.out.println("riga " + contatoreDiRiga + " errata: " + riga); } catch (NumberFormatException e) { System.out.println("riga " + contatoreDiRiga + " errata: " + riga); } } in.close(); while (!archivio.isEmpty()) System.out.println((MyComplex)archivio.togliMax()); } }