Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    1

    problemino con java

    Ciao a tutti... sto facendo un programma che gestisce gli ordini di un ristorante (classi: cibo, cameriere, ordine, ristorante, interfaccia). Il ristorante contiene una lista di cibi. Devo fare in modo di aggiungere tanti cibi nella lista con console.readLine.. praticamente un ciclo che ti chiede "vuoi aggiungere un altro cibo? s/n" se la risposta è si ne aggiunge un altro, se la risposta è no stampa a schermo le cose aggiunte.. sono stato abb chiaro ? qualcuno mi aiuti please!!

    questo è il mio ultimo tentativo...

    Questo è il metodo che ho aggiunto nella classe ristorante (che contiene una lista di oggetti di tipo Cibo):

    public void aggiungi(Cibo cib1) {
    String risposta= "s";
    if (Console.readLine("Vuoi aggiungere un cibo? s/n") == risposta){
    ciboMenu.add(cib1); }
    else
    {System.out.println("arrivederci");}
    }

    Questo è invece il codice della classe interfaccia che gestisce il tutto:

    public class Interfaccia5 {
    public static void main(String[] args){
    Ristorante risto = new Ristorante();
    //sezione per il capo1 (aggiungi cibo al menu)
    String codiceCibo = "";
    String tipoCibo = "";
    String nomeCibo = "";
    Integer prezzo = (0);
    boolean disponibile = true;
    Cibo cib1 = new Cibo();
    System.out.println("Buongiorno Prof!");
    System.out.println("Inserimento del primo appello: ");
    System.out.println("Buongiorno Tony!");
    System.out.println("Inserimento del primo cibo: ");
    codiceCibo = Console.readLine("Codice Cibo: ");
    tipoCibo = Console.readLine("Tipo Cibo: ");
    nomeCibo = Console.readLine("Nome Cibo: ");
    prezzo = Console.readInt("Prezzo: ");
    disponibile = disponibile;
    cib1.setCodiceCibo(codiceCibo);
    cib1.setTipoCibo(tipoCibo);
    cib1.setNomeCibo(nomeCibo);
    cib1.setPrezzo(prezzo);
    risto.aggiungi(cib1);

    } // main
    } // class

    Facendo così però mi fa aggiungere un cibo... poi mi chiede se ne voglio aggiungere altri? qualunque cosa scrivo (sia s che n) mi dà arrivederci e esce dal programma.. mentre il mio obiettivo è aggiungerne un altro...sapete dirmi dove sbaglio?

    vi ringrazio infinitivamente e spero di essere stato abbastanza chiaro..
    Fulvio

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326

    Moderazione

    Ti suggerisco di dare una letta al Regolamento per quanto riguarda i titoli (se posti in un forum che parla di programmazione Java, pare ovvio e lapalissiano a tutti che tu hai un problema con Java e non con la tua automobile....).
    Inoltre il codice va postato all'interno dei tag [ CODE ] (pulsantino '#' nella pagina di inserimento messaggio del forum), così da renderlo più leggibile (vedi esempio in questo post).

    Per il tuo problema: le stringhe (ed in generale tutti gli oggetti) non si confrontano con l'operatore ==, ma utilizzando il metodo equals(). Esempio:
    codice:
    String s = ...;
    
    // Così funziona
    if ( s.equals("Ciao") ) {
       // La stringa 's' contiene la scritta "Ciao"
    } else {
       // La stringa 's' contiene qualcos'altro
    }
    
    // Così non funziona
    if ( s == "Ciao" ) {
       // La stringa 's' contiene la scritta "Ciao"
    } else {
       // La stringa 's' contiene qualcos'altro
    }
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.