Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
REDMI Note 17 Pro porta in fascia media una batteria da 8.340 mAh con ricarica HyperCharge a 67W, un display AMOLED da 6,83 pollici capace di picchi di luminosità molto elevati e una struttura certificata TÜV SÜD contro cadute e infiltrazioni d'acqua, il tutto racchiuso in una scocca da 223 grammi. Lo abbiamo provato per diversi giorni tra fotocamera, prestazioni, autonomia e prezzo sul mercato italiano
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
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.
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


Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce Recensione REDMI Note 17 Pro: il midrange con ba...
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
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...
Colpiti i data center Amazon: irrecupera...
Google Wallet, nuova interfaccia in arri...
iPhone Duo, problemi di produzione per i...
Firefox diventa più veloce con PDF e JPE...
WhatsApp, arriva su iOS la nuova scorcia...
Snap presenta Specs: realtà aumentata, c...
SteamOS verso un cambiamento epocale: ar...
Recensione HUAWEI FreeBuds Neo, piccoli ...
TSMC aumenta i costi di produzione: AMD ...
L'Europa sfida i magnati dei combustibil...
One UI 9 arriva sui Galaxy S26: pi&ugrav...
Hacker chiedono 2,5 milioni di euro a Re...
Home Assistant su uno schermo touch econ...
L'IA entra nei negozi Unieuro con Google...
"What Holds Us", la nuova most...
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: 16:48.


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