Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Aiuto urgentissimo

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    68

    Aiuto urgentissimo

    Ho fatto un programma in java è mi dà dei problemi di fondo che nn riesco a risolvere!
    Il tutto in per se funziona ma mi da dei problemi che mi impediscono di fare il "eseguibile".
    Mi serve velocemente una solozione perchè dovo fare l'orientamento a quelli delle seconde e quindi deve funzionare senza un minimo errore.
    e vi mostro gli errori che mi dà in compilazione
    (Nella documentazione parla di qualcosa tipo <E> che non ho la più vaga idea cosa sia!)
    questo è l'errore:
    codice:
    questo è il codice: ( Gioco.java Gioco.rar Gioco.zip )
    codice:
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    import java.util.*;
    
    class AlberoBinStr implements Serializable{
        protected String info;
        protected AlberoBinStr left,right; // left NO!  - right SI!
        
        public AlberoBinStr(String info, AlberoBinStr left, AlberoBinStr right) {
            this.info=info;
            this.left=left;
            this.right=right;
        }
    }
    
    public class Gioco{
        static private int[] punteggio;
        static private AlberoBinStr ao;
        static private AlberoBinStr co;
        static private ArrayList vocaboli;
        
        public Gioco(){
            main();
        }
        public void Gioca() {
            main();
        }
        public static void main() {
            File predefinito = new File("Predefinito.abs");
            if (predefinito.exists()){
                try {
                    FileInputStream fis = new FileInputStream("Predefinito.abs");
                    ObjectInputStream ois = new ObjectInputStream(fis);
                    ao = (AlberoBinStr) (ois.readObject());
                    vocaboli = (ArrayList) (ois.readObject());
                    ois.close();
                } catch (Exception e1) {
                    System.out.println("Errore nel caricamento: "+e1);
                }
            } else {
                ao = new AlberoBinStr("E' un mammifero?",new AlberoBinStr("una trota",null,null),new AlberoBinStr("un cane",null,null));
                vocaboli = new ArrayList();
                vocaboli.add("una trota");
                vocaboli.add("un cane");
                vocaboli.trimToSize();
                try {
                    FileOutputStream fos1 = new FileOutputStream("Predefinito.abs");
                    ObjectOutputStream oos1 = new ObjectOutputStream(fos1);
                    oos1.writeObject(ao);
                    oos1.writeObject(vocaboli);
                    oos1.close();
                } catch (Exception e) {
                    System.out.println("Errore nel salvataggio: "+e);
                }
            }
            punteggio = new int[2];
            punteggio[0]=0;
            punteggio[1]=0;
            co = ao;
            Frame f = new Frame("Gioco Albero Binario di AutoApprendimento");
            f.addWindowListener(new AF());
            f.setSize(350,120);
            f.setLayout(new GridLayout(3,1));
            Panel p = new Panel();
            Label lbl_domanda = new Label("Pensa ad un animale! Fatto?");
            p.add(lbl_domanda);
            f.add(p);
            p = new Panel();
            p.setLayout(new GridLayout(1,2));
            Panel p1 = new Panel();
            Choice opt_risposta = new Choice();
            opt_risposta.add("Si");
            opt_risposta.add("No");
            p1.add(opt_risposta);
            p.add(p1);
            p1 = new Panel();
            Button btn_risp = new Button("Rispondi");
            p1.add(btn_risp);
            p.add(p1);
            f.add(p);
            p=new Panel();
            Label lbl_punteggio = new Label("Computer: "+punteggio[0]+"   -   Utente: "+punteggio[1]);
            p.add(lbl_punteggio);
            f.add(p);
            btn_risp.addActionListener(new asc_risp(opt_risposta, lbl_domanda, lbl_punteggio, co, punteggio,ao,f,vocaboli));
            f.setResizable(false);
            f.setVisible(true);        
        }
        public void Contenuto() {
            String voctxt = (String) vocaboli.get(0);
            int i;
            for (i=1;i<vocaboli.size();i++) {
                voctxt += ", "+(String) vocaboli.get(i);
            }
            System.out.println("Il mio database contiene "+vocaboli.size()+" elementi");
            System.out.println(voctxt);
        }
            
    }
    
    class asc_add implements ActionListener {
        TextField domanda;
        Label lbl_domanda;
        TextField risposta;
        AlberoBinStr copy;
        AlberoBinStr al_org;
        ArrayList vocaboli2;
        Frame ftc;
        Frame fts;
        public asc_add(TextField a,TextField b, AlberoBinStr c, Frame f, Frame ff, AlberoBinStr org, Label l, ArrayList v) { domanda = a; risposta = b; copy = c; ftc=f; fts = ff; al_org = org; lbl_domanda=l; vocaboli2=v; }
        public void actionPerformed(ActionEvent e){
            if ( ((domanda.getText()).length() > 0 ) &&  ((risposta.getText()).length() > 0 ) ) {
                copy.left=new AlberoBinStr(copy.info,null,null);
                copy.info=domanda.getText();
                copy.right=new AlberoBinStr(risposta.getText(),null,null);
                copy=al_org;
                vocaboli2.add(risposta.getText());
                vocaboli2.trimToSize();
                try {
                    FileOutputStream fos2 = new FileOutputStream("Predefinito.abs");
                    ObjectOutputStream oos2 = new ObjectOutputStream(fos2);
                    oos2.writeObject(al_org);
                    oos2.writeObject(vocaboli2);
                    oos2.close();
                } catch (Exception e2) {
                    System.out.println("Errore nel salvataggio: "+e2);
                }
                lbl_domanda.setText("Pensa ad un altro animale! Fatto?");
                fts.setVisible(true);
                ftc.dispose();
            }
        }
    }
    class asc_risp implements ActionListener {
        Label domanda;
        Label lbl_punteggio;
        int[] punteggio;
        Choice risposta;
        AlberoBinStr copy;
        AlberoBinStr lc;
        AlberoBinStr albero_originale;
        ArrayList vocaboli1;
        Frame ff;
        public asc_risp(Choice r,Label d, Label lp, AlberoBinStr c, int[] p, AlberoBinStr org, Frame fff, ArrayList v) { domanda=d; risposta=r; copy=c; lbl_punteggio=lp; lc=c; punteggio=p; albero_originale=org; ff=fff; vocaboli1=v; }
        public void actionPerformed(ActionEvent e){
          if ((domanda.getText()!="Pensa ad un animale! Fatto?")&&(domanda.getText()!="Pensa ad un altro animale! Fatto?")) {
            if (domanda.getText()==albero_originale.info) { copy=albero_originale; lc=albero_originale; }
            if (risposta.getSelectedIndex()==0) {
                lc = lc.right;
                if (lc==null) {
                    punteggio[0]++;
                    lbl_punteggio.setText("Computer: "+punteggio[0]+"   -   Utente: "+punteggio[1]);
                    copy=albero_originale;
                    domanda.setText("Pensa ad un altro animale! Fatto?");
                } else {
                    copy=lc;
                    if (lc.right!=null) {
                        domanda.setText(copy.info);
                    } else {
                        domanda.setText("E' "+copy.info+"?");
                    }
                }
            } else {
                lc = lc.left;
                if (lc==null) {
                    punteggio[1]++;
                    lbl_punteggio.setText("Computer: "+punteggio[0]+"   -   Utente: "+punteggio[1]);
                    ff.setVisible(false);
                    getInput();
                } else {
                    copy=lc;
                    if (lc.right!=null) {
                        domanda.setText(copy.info);
                    } else {
                        domanda.setText("E' "+copy.info+"?");
                    }
                }
            }
         } else {
             if (risposta.getSelectedIndex()==0) {
                domanda.setText(albero_originale.info);
            }
         }
        }
        private void getInput() {
           Frame f = new Frame("AutoApprensione");
           f.addWindowListener(new AF());
           f.setLayout(new GridLayout(4,1));
           
           Panel p = new Panel();
           p.setLayout(new GridLayout(3,1));
           p.add(new Label("Inserisci una domanda per la quale \""+copy.info+"\" non può essere"));
           p.add(new Label("la risposta mentre l'animale che tu hai pensato può esserlo."));
           p.add(new Label("E inserisci anche l'animale che hai pensato."));
           f.add(p);
           
           
           p = new Panel();
           p.setLayout(new GridLayout(1,2));
           p.add(new Label("Domanda: (es. \"Miagola?\")"));
           Panel p1 = new Panel();
           TextField txt_domanda = new TextField(21);
           p1.add(txt_domanda);
           p.add(p1);
           f.add(p);
           
           
           p = new Panel();
           p.setLayout(new GridLayout(1,2));
           p.add(new Label("Animale: (es. \"una zebra\")"));
           p1 = new Panel();
           TextField txt_risposta = new TextField(21);
           p1.add(txt_risposta);
           p.add(p1);
           f.add(p);
           
           
           p = new Panel();
           p.setLayout(new GridLayout(1,3));
           p.add(new Label(""));
           p.add(new Label(""));
           p1 = new Panel();
           Button btn_add = new Button("Aggiungi");
           btn_add.addActionListener(new asc_add(txt_domanda,txt_risposta,copy,f,ff,albero_originale,domanda,vocaboli1));
           p1.add(btn_add);
           p.add(p1);
           f.add(p);
           f.setSize(360,200);
           f.setResizable(false);
           f.setVisible(true);
        }    
    }
    class AF extends WindowAdapter{
        public void windowClosing(WindowEvent e) {
            System.exit(0);
        }
    }

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

    Moderazione

    Suggerisco la lettura del Regolamento per conoscere le norme da rispettare in termini di titoli da utilizzare e pratiche da evitare.
    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.