12/12/13 17:36
luciano.franchin
ciao, ho provato a sviluppare un codice java con la gestione di un vettore dinamico. non capisco perchè non funziona il ciclo iterativo nella prima scelta. grazie a chiunque riesca ad individuare l'errore logico
package esercizio_verifica_esercitazione; import java.util.Vector; import java.io.*; public class Esercizio_verifica_esercitazione { public static void main(String[] args) { InputStreamReader input = new InputStreamReader(System.in); BufferedReader tastiera = new BufferedReader(input); String titolo="", letto=""; double prezzo=0.0, somma=0.0; Libro libro; int sc=0; boolean end=false; Vector elenco = new Vector(0,1); do { System.out.println("scegliere opzione:"); System.out.println("1-input"); System.out.println("2-controllo prezzi"); System.out.println("3-uscire"); try { letto=tastiera.readLine(); sc=Integer.valueOf(letto).intValue(); } catch(Exception e){} switch(sc) { case 1: { System.out.println("inserire * nel campo titolo per terminare il ciclo;"); do { System.out.println("titolo:"); try { titolo=tastiera.readLine(); } catch(Exception e) {return;} System.out.println("prezzo:"); try { letto=tastiera.readLine(); prezzo=Double.valueOf(letto).doubleValue(); } catch(Exception e) {return;} if(titolo.equals("*")) {end=true;} else { libro = new Libro(titolo, prezzo); elenco.addElement(libro); } } while (end=false); break; } case 2: { for(int i=0; i<elenco.size(); i++) { libro = (Libro) elenco.elementAt(i); somma+=libro.getPrezzo(); } double media=somma/elenco.size(); System.out.println("Elementi con prezzo superiore media: "+media); for(int i=0; i<elenco.size(); i++) { libro = (Libro) elenco.elementAt(i); if(libro.getPrezzo()>=media) { System.out.println("Titolo: "+libro.getTitolo()+" Prezzo: "+libro.getPrezzo()); } } break; } default: {break;} } } while (sc!=3); } }
aaa