Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [JAVA]-Problema con Vecor

    Cari amici, ho questo problema: quando cerco di ottenere un elemento inserito in 1 vector mi restituisce un tipo Object e quando scrivo queste linee di codice mi da un errore

    i=descrizione.getSelectedIndex();
    idvec=position.elementAt(i);

    i e idvec sono degli interi.

    L'ERRORE è:
    found : java.lang.Object
    required: int
    idvec=position.elementAt(i);

    Cosa devo fare, forse 1 cast?.
    HELP ME

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,798
    Object object = position.elementAt(i);
    Integer integer = (Integer)object;
    int idvec = integer.intValue();

    ciao.
    Slack? Smack!

  3. #3
    Ok grazie, provavo a fare il cast con l'integer ma in modo errato. Adesso tutto compila. CIAO

  4. #4
    Ho scritto queste righe di codice come consigliato ma ho 1 problema:

    Object object = position.elementAt(i);
    Integer integer = (Integer)object;
    idvec = integer.intValue();

    Queste tre righe vengono compilate ma se dopo ci metto un istruzione del tipo
    JOptionPane.showMessageDialog(null,"VALORE DI idvec : " +idvec);

    nn mi appare niente; viceversa se una stessa istruzione la pongo prima delle tre righe di codice scritte sopra, tutto vien visualizzato bene. COME MAI? DOVE HO SBAGLIATO?

  5. #5
    Prova così:

    JOptionPane.showMessageDialog(null,"VALORE DI idvec : " +Integer.toString(idvec));

  6. #6
    Niente da fare, il problema rimane. La procedura incrimanata è la seguente:

    if (event.getSource() == ok) //controllo {

    String tap;
    int i,j,indt;
    i=dchoose_locale.getSelectedIndex();
    j=cchoose.getSelectedIndex();
    tap=tchoose.getSelectedItem();
    indt=tchoose.getSelectedIndex();


    Object object = position.elementAt(i);
    Integer integer = (Integer)object;
    idvec = integer.intValue();

    object = position2.elementAt(i);
    integer = (Integer)object;
    idvec2 = integer.intValue();

    JOptionPane.showMessageDialog(null,"VALORE DI idvec : " +Integer.toString(idvec));
    JOptionPane.showMessageDialog(null,"VALORE DI idvec2 : " +Integer.toString(idvec2));



    }


    Ringrazio anticipatamente chiunque possa darmi una mano o 1 consiglio

  7. #7
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Ciao.... secondo me dovrebbe funzionare da come è scritto, a meno che il getSelectedIndex non dia un valore in cui l'integer.intValue() restituisca null; il problema è che se non ti escono nemmeno i JOptionPane vuol dire che nell'if non c'entra proprio....sei sicuro/a che nell'if ci entri?Prova a mettere una System.out.println() nell'if per vedere se c'entra o meno... ad esempio:
    if (event.getSource() == ok) //controllo {
    System.out.println("Controllo superato....procedo");

    String tap;
    int i,j,indt;
    i=dchoose_locale.getSelectedIndex();
    j=cchoose.getSelectedIndex();
    tap=tchoose.getSelectedItem();
    indt=tchoose.getSelectedIndex();


    Object object = position.elementAt(i);
    Integer integer = (Integer)object;
    idvec = integer.intValue();
    System.out.println("idvec: "+idvec);

    object = position2.elementAt(i);
    integer = (Integer)object;
    idvec2 = integer.intValue();
    System.out.println("idvec2: "+idvec2);

    JOptionPane.showMessageDialog(null,"VALORE DI idvec : " +Integer.toString(idvec));
    JOptionPane.showMessageDialog(null,"VALORE DI idvec2 : " +Integer.toString(idvec2));
    }
    Spero di esserti stato utile....ciao
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  8. #8
    Si,nell'if entra, anche perchè riesco a far visualizzare il valore di
    position.elementAt(i), mettendo un istruzione JOptionPane.showMessageDialog prima o dopo l'assegnazione di tale valore alla variabile object. Il problema è il cast:

    Integer integer = (Integer)object; //forse è qui il problema
    idvec = integer.intValue();

    Vi mostro come ho inserito i valori nel vector e nell'oggetto choose
    while(rs.next())
    {
    position.add(Integer.toString(rs.getInt(1)));
    dchoose.add(rs.getString(2).trim());
    }
    Dovrebbe funzionare

  9. #9
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Integer integer = (Integer)object; //forse è qui il problema
    idvec = integer.intValue();
    Con questo casting stai tramutando object in Integer; ma notando il codice sotto tu a position aggiungi non un Integer bensì un oggetto String infatti:

    while(rs.next())
    {
    position.add(Integer.toString(rs.getInt(1)));
    dchoose.add(rs.getString(2).trim());
    }

    Quindi il casting che dovresti fare non è più in Integer bensì in String e poi consoderare una cosa del tipo:
    Integer integer = (String)object;
    idvec = Integer.parseInt( integer );
    Prova a vedere se così va...altrimenti mi sa che sarebbe meglio se postassi la classe java in maniera che tutti ci possano dare 1 occhiata...ciao
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  10. #10
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Pardon mi sono reso conto di 1 errore che ho commesso non è:
    Integer integer = (String)object;
    idvec = Integer.parseInt( integer );

    bensì ( ovviamente )

    String integer = (String)object;
    idvec = Integer.parseInt( integer );
    scusami per l'errore e ciao
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

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.