Newsgroup: it.comp.java
Titolo: classe Vector

salve a tutti!avevo un dubbio:ho creato un vettore utilizzando la
classe vector (contiene delle stringhe)come faccio a verificare se una
stringa immessa tramite un jtextfield è già presente?insomma io
vorrei evitare che nel mio vettore siano immesse due stringhe
identiche....ho provato a fare un codice del tipo:
public boolean addBrano(String unbrano){
        for(int i=0;i<brano.capacity();i++){
        String  b =(String)brano.elementAt(i);
        if (b.equals(unbrano))
        return(false);}
brano.addElement(unbrano);
return(true);}
....ma sembra nn funzionare.Accetto qualsiasi tipo di aiuto!grazie!

 stringa immessa tramite un jtextfield è già presente?
Usa il metodo contains(Object o) implementato dall'interfaccia List.
Oppure potresti usare una delle implementazioni dell'interfaccia Set al 
posto del (Sincronizzato) Vector.
-- 
Giambo - Occhio al filtro antispam _e_ alla whitelist !

quindi dovrei implementare una cosa del genere:
public boolean addBrano(String unbrano){
if (brano.contains(unbrano))
return(false);
else
return(true)}
...anche se mi restituisce un errore....

>...anche se mi restituisce un errore....
Che genere di errore ti ritorna, scusa?
E cmq per quello che devi fare tu il Set è la cosa migliore

....ma sembra nn funzionare.Accetto qualsiasi tipo di aiuto!grazie!
"non funziona" è un po' vago
-- 
sbi 

ok!proverò ad essere un pò più preciso..sto implementando
un'interfaccia con swing ho una jlabel"brano"(con relativo
jtextfield),inserisco il brano e dopo l'uso di un pulsante"aggiungi"lo
aggiungo a una combobox....vorrei quindi che nella combobox nn vengano
inseriti due brani uguali....questo metodo ("addBrano")è all'interno
di una classe Cd e viene richiamato dal metodo "aggiungiBrano"della
classe CdListener (ovviamente dopo aver schiacciato il pulsante
"aggiungi")
private void aggiungiBrano(){
	  {
		    try
		    {
		      String unbrano=frame.branoTx.getText();
		       //frame.elencoCb.addItem(unbrano);
		      v.addElement(unbrano);
		      /*Se il brano è già presente (cioè esiste un brano con quel
nome)
		        viene lanciata una eccezione gestita dal metodo stesso*/
		      if (frame.c.addBrano(unbrano))
		        throw(new IllegalArgumentException("Brano già presente"));
		      //Mstra un messaggio di conferma nel caso che il brano non è
presente
		     JOptionPane.showMessageDialog(frame,"Brano aggiunto","Aggiungi
brano",
		        JOptionPane.INFORMATION_MESSAGE);
		      //Svuota la schermata
		      frame.branoTx.setText("");}
	  catch(IllegalArgumentException err)
	    {
	      JOptionPane.showMessageDialog(frame,err.getMessage(),"Dati
errati",
	        JOptionPane.ERROR_MESSAGE);
	    }
	  }
	    ...  ed ecco l'errore che mi da alla pressione di"aggiungi"(non mi
inseriscenulla nela Combobox!):
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at fines.Cd.addBrano(Cd.java:43)
	at fines.CdListener.aggiungiBrano(CdListener.java:74)
	at fines.CdListener.actionPerformed(CdListener.java:45)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown
Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown
Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
chiedo scusa se ho postato tante righe!

 	at fines.Cd.addBrano(Cd.java:43)
NullPointerException, probabilmente nel metodo addBrano() c'e' una 
variabile non inizializzata (Controlla la riga 43).


Giambo ha scritto:

no!se no eclipse me lo avrebbe segnalato!comunque ho controllato  e nn
ci sono variabili nn inizializzate ...se avete in mente un altro modo
di procedere postatemi un esempio....grazie!

 di procedere postatemi un esempio....grazie!
Prova a postare la parte di codice incriminata, in particolare il metodo 
addBrano().
