Oppure

Loading
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
12/12/13 18:05
pierotofy
while (end=false);


:nono:

while(end == false);


C'e' differenza tra l'operatore = e ==.

A parte il resto, questo e' poi assolutamente da evitare:

try
{
          // codice....
}
catch(Exception e){}


E se succede un errore come te ne accorgi? :nono:
Il mio blog: piero.dev