Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    68

    [JAVA] unchecked or unsafe operations

    Ringrazio i moderatori per avermi dato il tempo di editare l'altro thread -.-'

    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:
    C:\Programmi\Java\jdk1.5.0_07\bin>javac Gioco.java
    Note: Gioco.java uses unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.
    
    C:\Programmi\Java\jdk1.5.0_07\bin>javac -Xlint:unchecked Gioco.java
    Gioco.java:44: warning: [unchecked] unchecked call to add(E) as a member of the
    raw type java.util.ArrayList
                vocaboli.add("una trota");
                            ^
    Gioco.java:45: warning: [unchecked] unchecked call to add(E) as a member of the
    raw type java.util.ArrayList
                vocaboli.add("un cane");
                            ^
    Gioco.java:118: warning: [unchecked] unchecked call to add(E) as a member of the
     raw type java.util.ArrayList
                vocaboli2.add(risposta.getText());
                             ^
    3 warnings
    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 LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    L'altro thread ti è stato chiuso.

    Ad ogni modo il problema è dovuto al fatto che stai compilando del codice scritto per Java 1.4 utilizzando il compilatore Java 1.5.

    Ad ogni modo, sono solo dei Warning e non degli errori, quindi l'eseguibile (il .class) dovrebbe crearlo lo stesso.


    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.