Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    help svolgimento esercizio!!

    qualche anima pia vorrebbe darmi una mano con questo esercizio?!

    grazie


    Esercizio 3
    Il seguente codice va completato sostituendo ai commenti la parte di codice descritta dal commento stesso.
    Ill programma usa un’interfaccia Sfidabile che ha un unico metodo vince(Sfidabile x) con tipo di ritorno booleano. La classe Sfidante implementa quest’interfaccia, e ha due campi: nome e numero (una stringa e un intero). Il metodo vince va implementato come segue: se this.nome segue in ordine alfabetico x.nome (si usi l’ordinamento lessicografico predefinito per le stringhe), ritorna true. Se le stringhe sono uguali, ritorna true se this.numero>x.numero. Altrimenti ritorna false.
    Lo scopo del programma è quello di creare un frame con un’etichetta, sotto tre bottoni, e sotto ancora un’etichetta. L’etichetta in alto contiene l’indicazione di una variabile Sfidante chiamata avv e scelta a caso come spiegato nel codice. I tre bottoni contengono tre stringhe, scelte in modo diverso come riportato sotto. L’etichetta in basso contiene la dicitura “Non hai ancora vinto”. Ogni volta che viene cliccato un bottone, viene incrementato contatore e viene creata una variabile nuovo di tipo Sfidante il cui campo nome è la stringa del bottone premuto e numero è uguale a contatore. Poi si confrontano nuovo e avv: se nuovo.nome viene dopo avv.nome nell’ordine lessicografico, oppure sono uguali e nuovo.contatore>avv.contatore (ovvero, le stesse condizioni dette prima), l’etichetta in basso diventa “Hai vinto!”


    //importare tutti i package che servono
    class Ascoltatore implements ActionListener
    { private Esercizio es;
    public Ascoltatore(Esercizio es)
    { this.es = es; }
    public void actionPerformed(ActionEvent e)
    { es.conteggia(e); }
    }
    class Sfidante implements Sfidabile
    { String nome; int numero;
    public Sfidante(String nome, int numero)
    { this.nome = nome; this.numero = numero; }
    public String toString()
    //scrivere un metodo “toString” che riporti “(nome,numero)”
    public boolean vince(Sfidabile x)
    //scrivere il metodo “vince” seguendo le condizioni citate sopra
    }
    public class Esercizio extends JFrame {
    private static final String[] VETTORE = {"Asso","Due","Cinque","Fante","Cavallo","Re"}; private JButton[] bottoni = new JButton[3];
    private JLabel sfida,risultato;
    private int contatore; Random dGen; Sfidante avv;
    //dichiarare 3 ascoltatori in un vettore asc
    public Esercizio()
    { super(); contatore=0; dGen = new Random(System.currentTimeMillis());
    avv = new Sfidante(VETTORE[dGen.nextInt(4)],dGen.nextInt(5));
    inizializzaGUI(); this.setVisible(true);
    }
    private void inizializzaGUI()
    { //creare i tre bottoni: bottoni[0] contiene un elemento a caso di VETTORE,
    //bottoni[1] contiene il campo nome di avv, bottoni[2] contiene “Zzzz”
    //creare i tre ascoltatori e associarli ai bottoni
    //creare le etichette sfida e risultato(inizializzata a "Non hai ancora vinto")
    //venga settato il frame in modo che il programma termini quando viene chiusa la finestra
    //aggiungere al frame sfida, i bottoni, risultato.
    //(si usi BorderLayout, mettendo gli elementi a NORTH, WEST, CENTER, EAST, SOUTH) this.pack(); this.setVisible(true);
    }
    public void conteggia(ActionEvent e)
    { //incrementare contatore
    //creare una variabile intera “premuto” che contenga l’indice del bottone premuto
    //creare una variabile Sfidante “nuovo” e confrontarla con “avv”.
    //Se si verifica la condizione riportata sopra:
    risultato.setText("Hai vinto!");
    this.repaint();
    }
    public static void main(String args[]) { new Esercizio();}
    }

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Originariamente inviato da drkchidren
    qualche anima pia vorrebbe darmi una mano con questo esercizio?!
    Qui non scriviamo codice su richiesta.

    Non puoi postare un esercizio, uno stralcio di codice e chiedere di "riempirti i buchi": il compito è stato assegnato a te.

    Se vuoi un aiuto, proponi la tua soluzione alle problematiche che non riesci a risolvere, studiando e documentandoti, e riporta eventuali errori o comportamenti anomali che ottieni, e saremo ben felici di aiutarti per il caso specifico.

    Delegare il lavoro è un po' troppo comodo...
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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.