Visualizzazione dei risultati da 1 a 6 su 6

Discussione: problema su metodo

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2015
    Messaggi
    81

    problema su metodo

    salve a tutti. mi trovo in difficoltà su un metodo che ho utilizzato per fare la mia slotmachine. praticamente ho generato una sequenza di simboli e ora a seconda dei simboli ottenuti (in maniera casuale), otterrò una vincita diversa. è qui viene il problema. per stampare la vincita ho scritto questo metodo:
    codice:
    public int calcolaVincita(String sequenza[])
         {
             int vincita = 0;
             if (sequenza[0]== "#" && sequenza[1]== "#" && sequenza[2]== "#")
                {
                    vincita = 1;
                }
                
             if (sequenza[0]== "*" && sequenza[1]== "*" && sequenza[2]== "*")
                {
                    vincita = 2;
                }
             
             if (sequenza[0]== "$" && sequenza[1]== "$" && sequenza[2]== "$")
                {
                    vincita = 3;
                }
             
             if (sequenza[0]== "§" && sequenza[1]== "§" && sequenza[2]== "§")
                {
                    vincita = 4;
                }
                
             if (sequenza[0]== "£" && sequenza[1]== "£" && sequenza[2]== "£")
                {
                    vincita = 5;
                }
                
             if (sequenza[0]== "€" && sequenza[1]== "€" && sequenza[2]== "€")
                {
                    vincita = 6;
                }
                
             if (sequenza[0]== "$" && sequenza[1]== "£" && sequenza[2]== "€")
                {
                    vincita = 100;
                }
             return vincita;
         }
    e nel main ho scritto in questo modo:

    codice:
    int vincita = slot.calcolaVincita();
            importo = importo + vicita;
            System.out.println("\nImporto vinto: " +vincita);
            System.out.println("\nNuovo importo dopo vincita: " +importo);
    solo che nel main mi da un errore relativo alla prima riga...dato che ho iniziato da poco molto probabilmente ho scritto un'assurdità però io da solo non riesco a trovarla. c'è qualcuno che mi può dare una mano?
    grazie mille

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da simo9115 Visualizza il messaggio
    codice:
    int vincita = slot.calcolaVincita();
    solo che nel main mi da un errore relativo alla prima riga...
    calcolaVincita ha 1 parametro di tipo String[] .... dove sta l'argomento nella chiamata?

    Ma a parte questo aspetto "tecnico", se il metodo opera (e dovrebbe essere così) sullo "stato" della Slot, perché non può usare questo stato invece che ricevere qualcosa dall'esterno?
    Ultima modifica di andbin; 06-11-2015 a 18:16
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Aggiungo, inoltre, che gli oggetti non si confrontano con l'operatore ==, ma usando il metodo equals().


    codice:
    if (sequenza[0].equals("#") && sequenza[1].equals("#") && sequenza[2].equals("#")) {
       ...
    }

    Ciao.
    Ultima modifica di LeleFT; 06-11-2015 a 18:25
    "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

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2015
    Messaggi
    81
    Quote Originariamente inviata da andbin Visualizza il messaggio

    Ma a parte questo aspetto "tecnico", se il metodo opera (e dovrebbe essere così) sullo "stato" della Slot, perché non può usare questo stato invece che ricevere qualcosa dall'esterno?
    cioè? non ho capito bene cosa intendi...scusa per l'ignoranza e innanzitutto grazie per l'aiuto

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da simo9115 Visualizza il messaggio
    cioè? non ho capito bene cosa intendi...
    Devi cercare di ragionare più in termini object-oriented.

    Suppongo ... immagino una classe del tipo:

    codice:
    public class SlotMachine {
        private String[] sequenza;
    
        // ....
        // metodo/i per generare la sequenza
    
        public int calcolaVincita() {
            // qui usi lo "stato" dell'oggetto (quel 'sequenza')
        }
    
        // ....
    }

    SlotMachine ha uno "stato" come minimo composto dalla sequenza (generata da qualche altro metodo). calcolaVincita essendo "di istanza" si presuppone che operi sullo stato dell'oggetto, altrimenti avrebbe poco senso.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2015
    Messaggi
    81
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Devi cercare di ragionare più in termini object-oriented.

    Suppongo ... immagino una classe del tipo:

    codice:
    public class SlotMachine {
        private String[] sequenza;
    
        // ....
        // metodo/i per generare la sequenza
    
        public int calcolaVincita() {
            // qui usi lo "stato" dell'oggetto (quel 'sequenza')
        }
    
        // ....
    }

    SlotMachine ha uno "stato" come minimo composto dalla sequenza (generata da qualche altro metodo). calcolaVincita essendo "di istanza" si presuppone che operi sullo stato dell'oggetto, altrimenti avrebbe poco senso.
    a ora ho capito! grazie mille per l'aiuto

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.