Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 20-03-2008, 14:48   #1
misterxxitalia
Member
 
Iscritto dal: Dec 2007
Messaggi: 277
[java]stampare tutti gli appuntamenti in una certa data

ciao a tutti come scritto nel titolo devo stampare tutti gli appuntamenti in una certa data gli appuntamenti sono caricati in un vector chiamato appuntamenti.
questo è il metodo incriminato che nn va mi dice di nn poter trovare il metodo getData()...
Codice PHP:
public void stampaaArrayList()
  {for (
int w=0w<appuntamenti.size();w++) 
       {if (
appuntamenti.get(w).getData().equals("18/3/2008"))
             {
System.out.println("indice nel vettore:"+w+" "+appuntamenti.get(w).toString());
              }
        }
    } 
e questo è un po di codice...
Codice PHP:
class Agenda
{
  private 
Date data;
private 
String ora;                 
private 
String nome;
private 
String cognome;
private 
String descrizione;
private 
String priorita;

Agenda(String dataString oraString nomeString cognomeString descrizioneString prioritathrows InserimentoErratoExceptionIOException,ParseException{
 
    
this.setData(data);
    
setOra(ora);
    
setNome(nome);
    
setCognome(cognome);
    
setDescrizione(descrizione);
    
setPriorita(priorita);
    }

    public 
String toString()//metodo per la lettura dell'array
 
{
    return 
"ora:"+" "+ora +" "+"data:"+data +" ""nome:"" "+nome+" "+"cognome:" +cognome+" ""descrizione:" +" "+descrizione+" ""priorita"+" "+priorita;
 }
 public 
void setData(String dataStringthrows ParseException
       
{
        
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
        
this.data sdf.parse(dataString);
       
        }


public 
String getData() {
SimpleDateFormat f = new SimpleDateFormat("dd/MM/yyyy");
        
String datainput f.format(data);  
return 
datainput;
}
public 
void setOra(String ora//simile a quello di sopra...
public void setOra(String ora//idem...
//e via dicendo per cognome descizione ecc...
private Vector appuntamenti;

    public 
Agenda ()
    {
        
appuntamenti = new Vector();
    }

    
       public 
Vector getappuntamenti()
     {
       
Vector appunt = (Vector)appuntamenti.clone();
       return 
appunt;
     }
 public 
void stampaArrayList()
{
  for (
Enumeration e appuntamenti.elements();e.hasMoreElements();) 
  for (
int w =0appuntamenti.size();w++) 
  {
      
      
System.out.println("indice nel vettore:"+w+" "+e.nextElement().toString());
  }

per favore aitatemi nn capisco l'errore!!
misterxxitalia è offline   Rispondi citando il messaggio o parte di esso
Old 20-03-2008, 15:30   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da misterxxitalia Guarda i messaggi
mi dice di nn poter trovare il metodo getData()...
Visto che non stai usando i "generics", il metodo get() di Vector ha come tipo di ritorno Object.
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 20-03-2008, 15:36   #3
vladix
Member
 
L'Avatar di vladix
 
Iscritto dal: Jan 2008
Città: roma
Messaggi: 296
Codice:
private Vector<Agenda> appuntamenti;

    public Agenda ()
    {
        appuntamenti = new Vector<Agenda>();
    }

    
       public Vector getappuntamenti()
     {
       Vector appunt = (Vector)appuntamenti.clone();
       return appunt;
     }
public void stampaArrayList()
{
  for (Enumeration e = appuntamenti.elements();e.hasMoreElements();)
  for (int w =0; w < appuntamenti.size();w++)
  {
      
      System.out.println("indice nel vettore:"+w+" "+e.nextElement().toString());
  }
}
oppure
Codice:
public void stampaaArrayList()
  {for (int w=0; w<appuntamenti.size();w++)
       {if ( ((Agenda)appuntamenti.get(w)).getData().equals("18/3/2008"))
             {System.out.println("indice nel vettore:"+w+" "+appuntamenti.get(w).toString());
              }
        }
    }
vladix è offline   Rispondi citando il messaggio o parte di esso
Old 20-03-2008, 15:48   #4
misterxxitalia
Member
 
Iscritto dal: Dec 2007
Messaggi: 277
scusa vladix ma nn posso usare le <> perchè è un linguaggio java troppo evoluto non consentito nel progetto...ma io ho il bisogno di far tornare una stringa giusto?che metodo uso allora apposto di get(w)??
misterxxitalia è offline   Rispondi citando il messaggio o parte di esso
Old 20-03-2008, 15:54   #5
vladix
Member
 
L'Avatar di vladix
 
Iscritto dal: Jan 2008
Città: roma
Messaggi: 296
beh se non puoi usare i generici , bisogna fare il cast
Codice:
((Agenda)appuntamenti.get(w)).getData()
vladix è offline   Rispondi citando il messaggio o parte di esso
Old 20-03-2008, 16:01   #6
misterxxitalia
Member
 
Iscritto dal: Dec 2007
Messaggi: 277
scusa non conosco come funziona il cast infatti sbaglio sicuramente qualche cosa...
Codice PHP:
public void stampaaArrayList()
  {for (
int w=0w<appuntamenti.size();w++) 
       {if ((
Agenda)appuntamenti.get(w)).getData().equals("18/3/2008"))
             {
System.out.println("indice nel vettore:"+w+" "+appuntamenti.get(w).toString());
              }
        }
    } 
se magari me lo spieghi...
misterxxitalia è offline   Rispondi citando il messaggio o parte di esso
Old 20-03-2008, 16:08   #7
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da misterxxitalia Guarda i messaggi
scusa non conosco come funziona il cast infatti sbaglio sicuramente qualche cosa...
Infatti hai dimenticato una parentesi (.

Tra l'altro, se formatti con "dd/MM/yyyy" non puoi di certo ottenere "18/3/2008" ma "18/03/2008".
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 20-03-2008, 16:20   #8
misterxxitalia
Member
 
Iscritto dal: Dec 2007
Messaggi: 277
infatti avevi ragione!
se metto una data che esiste mi stampa l'appuntamento ma se non c'è come lancio un'eccezione??tipo la mia eccezione inserimentoerratoException..
misterxxitalia è offline   Rispondi citando il messaggio o parte di esso
Old 20-03-2008, 16:31   #9
misterxxitalia
Member
 
Iscritto dal: Dec 2007
Messaggi: 277
mi rispondo da solo un bell else alla fine e lancio l'eccezione!!grazie di tutto!
misterxxitalia è offline   Rispondi citando il messaggio o parte di esso
Old 21-03-2008, 10:58   #10
misterxxitalia
Member
 
Iscritto dal: Dec 2007
Messaggi: 277
scusate di nuovo sto facendo un controllo simile a quello di prima...
Codice PHP:
Rubrica r = new Rubrica ();//creo una nuova rubrica
Agenda a = new Agenda();//creo una nuova agenda
String rimuovi r.leggiStringa();
int i Integer.parseInt(rimuovi);int w=0
for (
int l=0w<a.getappuntamenti().size();w++) 
       {
if (((
Rubrica)r.getnominativi().get(i)).getNome().equals((Agenda)a.getappuntamenti().get(l).getNome()&&(Rubrica)r.getnominativi().get(i)).getCognome().equals((Agenda)a.getappuntamenti().get(l).getCognome()))
System.out.println("stai eliminando un nominativo che ha un appuntamento!");
else
nominativi.removeElementAt(i); 
in pratica se il mio nominativo che vado a eliminare ha lo stesso nome e cognome presente in un appuntamento mi stampa stai eliminando...altrimenti rimuovi l'elemento.il problema che qui..
Codice PHP:
.equals((Agenda)a.getappuntamenti().get(l).getNome() 
non mi fa accedere a getNome() sbaglio a fare il cast??grazie!
misterxxitalia è offline   Rispondi citando il messaggio o parte di esso
Old 21-03-2008, 11:09   #11
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2794
Per richiamare getNome dovresti scrivere:
Codice:
((Agenda)a.getappuntamenti().get(l)).getNome()
Così fai il cast sull'oggetto restituito dalla get e su questo (che è diventato Agenda) richiami la getNome
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 21-03-2008, 11:29   #12
misterxxitalia
Member
 
Iscritto dal: Dec 2007
Messaggi: 277
allora ho scritto cosi...
Codice PHP:
if ((((Rubrica)r.getnominativi().get(i)).getNome().equals((Agenda)a.getappuntamenti().get(l)).getNome())&&(((Rubrica)r.getnominativi().get(i)).getCognome().equals((Agenda)a.getappuntamenti().get(l)).getCognome())); 
mi da come errore:
bolean cannot be dereferenced stai usando la notazione col punto per accedere ad un campo o ad un metodo di un altro oggetto pero la variabile che stai usando non è un oggetto:non ha ne metodi ne campi...
di quale variabile parla?che sbaglio??
misterxxitalia è offline   Rispondi citando il messaggio o parte di esso
Old 21-03-2008, 11:36   #13
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2794
Hai solo cannato un po' di parentesi:
Codice:
if(((Rubrica)r.getnominativi().get(i)).getNome().equals(((Agenda)a.getappuntamenti().get(l)).getNome())&&((Rubrica)r.getnominativi().get(i)).getCognome().equals(((Agenda)a.getappuntamenti().get(l)).getCognome()));
Così mi sembra corretta
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 21-03-2008, 11:59   #14
misterxxitalia
Member
 
Iscritto dal: Dec 2007
Messaggi: 277
maledetto bluej!!hai ragione!!scusa come faccio a mettere un controllo tipo...sei sicuro di voler eliminare l'elemento??
misterxxitalia è offline   Rispondi citando il messaggio o parte di esso
Old 21-03-2008, 12:17   #15
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2794
Basta chiedere conferma, cioè... non vorrei darti una risposta banale, non mi sembra difficile, stampi la domanda "sicuro di voler cancellare l'elemento(y/n)?" e poi leggi la risposta, se è y cancelli, altrimenti no. Ma forse non era quello che volevi
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 21-03-2008, 12:40   #16
misterxxitalia
Member
 
Iscritto dal: Dec 2007
Messaggi: 277
no no perfetto!le cose piu semplici sono le piu effficaci!se ho dei problemi posto. x ora grazie!!
PS if miascelta == "y"...o uso il metodo equals()???

Ultima modifica di misterxxitalia : 21-03-2008 alle 12:43.
misterxxitalia è offline   Rispondi citando il messaggio o parte di esso
Old 21-03-2008, 13:06   #17
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2794
Se miascelta è una String usi equals, se è un char usi miascelta=='y'. Occhio che nel caso di char si usano gli apici e non le virgolette.
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 21-03-2008, 19:32   #18
misterxxitalia
Member
 
Iscritto dal: Dec 2007
Messaggi: 277
scusate ho controllato meglio il metodo xo mi sono accorto che fa quello che si pare
ovvero scrive sempre "stai eliminando un nominativo che ha un appuntamento!"
questo è il metodo forse sbaglio qualche stupidagine!!
Codice PHP:
System.out.println ("dammi l'indice del vettore da eliminare");
System.out.println("==>");
try 
{
String rimuovi r.leggiStringa();
int i Integer.parseInt(rimuovi); 
for (
int l=0l<a.getappuntamenti().size();l++) 
       {
if(((
Rubrica)r.getnominativi().get(i)).getNome().equals(((Agenda)a.getappuntamenti().get(l)).getNome())&&((Rubrica)r.getnominativi().get(i)).getCognome().equals(((Agenda)a.getappuntamenti().get(l)).getCognome()));
System.out.println("stai eliminando un nominativo che ha un appuntamento!");

r.removeNominativo(i); 
misterxxitalia è offline   Rispondi citando il messaggio o parte di esso
Old 21-03-2008, 19:49   #19
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2794
Perché hai messo un ';' subito dopo l'if, questo ';' viene preso come l'unica istruzione da eseguire nel caso in cui l'if sia vero, perché non hai usato le graffe, se invece avessi racchiuso tra graffe il corpo dell'if non ci sarebbe stato alcun problema.
Praticamente se scrivo:
Codice:
if(test)
  fai qualcosa;
fai qualcos'altro;
qualcos'altro viene eseguito sempre e qualcosa solo se test è vero, se invece scrivo:
Codice:
if(test){
  fai qualcosa;
  fai qualcos'altro;
}
Entrambi vengono eseguiti solo se test è true
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 21-03-2008, 22:25   #20
misterxxitalia
Member
 
Iscritto dal: Dec 2007
Messaggi: 277
infatti avevi ragione...un punto e virgola che cambia il mondo!!grazie della spiegazione!
misterxxitalia è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Apple rinvia due novità di iOS 27...
Una memoria ferroelettrica raggiunge 10 ...
Honor Magic 9, Pro Max e Super Edition: ...
24 offerte Amazon da non perdere, dalla ...
Apple starebbe progettando i propri cont...
Niente borsa per OpenAI prima del 2027: ...
Meta potrebbe aver mostrato in anticipo ...
Bicicletta elettrica L26 a 474,05€: e-bi...
NVIDIA RTX PRO 5500 Blackwell: 84 GB di ...
Sei alla ricerca di un buon gruppo di co...
Blizzard annuncia un nuovo StarCraft: la...
Ecobonus al 65%: il governo valuta il ri...
Biscotti fatti con bottiglie di plastica...
SIHOO B100 a 161€ e B100 Pro a 209€: sed...
ClickFix dilaga: un finto captcha e un c...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 11:33.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v