[java]stampare a video la posizione degli elementi su un vector

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Scrivi risposta
misterxxitalia
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 838
Iscrizione: domenica 11 marzo 2007, 22:15

[java]stampare a video la posizione degli elementi su un vector

Messaggio da misterxxitalia »

ciao a tutti ho bisogno di stampare a video la posizione degli elementi del vector...
questo stampa i nominativi....

Codice: Seleziona tutto

public void stampaArrayList()
{
  for (Enumeration e = nominativi.elements();e.hasMoreElements();) 
  
  {
      
      System.out.println("indice nel vettore:"+getnominativi().size()+e.nextElement().toString());
  }
}
e il metodo toString()....

Codice: Seleziona tutto

ublic String toString()//metodo per la lettura dell'array
 {
    return "cognome:"+" "+cognome +" "+"nome:"+nome +" "+ "indirizzo:"+ " "+indirizzo+" "+"telefono:" +telefono+" "+ "affinita:" +" "+affinita;
 }
come faccio a visualizzare la posizione dell'elemento nel vector??idee??grazie!!
Avatar utente
HammerOn
Prode Principiante
Messaggi: 236
Iscrizione: martedì 5 giugno 2007, 11:25

Re: [java]stampare a video la posizione degli elementi su un vector

Messaggio da HammerOn »

nominativi è il Vector??
se così fosse potresti usare un semplice for

Codice: Seleziona tutto

for(int i =0 ; i<nominativi.size();i++)
{
System.out.println("l'elemento: "+nominativi.get(i)+" si trova in posizione "+i);
}
ho colto la tua richiesta?
misterxxitalia
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 838
Iscrizione: domenica 11 marzo 2007, 22:15

Re: [java]stampare a video la posizione degli elementi su un vector

Messaggio da misterxxitalia »

si nominativi è il vector xo ho il bisogno di visualizzare la posizione dell'elemento affianco a ogni nominativi stampati...come modifico i miei metodi??
Avatar utente
HammerOn
Prode Principiante
Messaggi: 236
Iscrizione: martedì 5 giugno 2007, 11:25

Re: [java]stampare a video la posizione degli elementi su un vector

Messaggio da HammerOn »

allora fammi capire bene:

il metodo toString() è una reimplementazione di consegunza la classe estende Vector giusto?
bhe una bella porcata potrebbe essere mettere la variabile i (del mio esempio)(magari metterela con un nom eun po più significativo) come variabile globale cosi da poterva vedere ovunque - soluzione certamente adattabile al tuo caso ma forse una delle peggiori ^_^


un'altra soluzione forse meno adattabile ma sicuramente la piu pulita sarebbe quella di creare una classe Nominativo dove hai al suo interno tutti i suoi attributi (cognome, nome, indirizzo ecc ecc)

poi nella classe vuoi il risultato fare:

Codice: Seleziona tutto

//ovviamente listaNominativi dovra essere instanziata un un'altra maniera
Vector<Nominativi> listaNominativi = new Vector<Nominativi>();

for(int i =0 ; i<listaNominativi.size();i++)
{
//immagino che nella classe Nominativi ci sia un metodo chiamato getCognome()
System.out.println("l'elemento: "+listaNominativi.get(i).getCognome+" si trova in posizione "+i);
}
misterxxitalia
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 838
Iscrizione: domenica 11 marzo 2007, 22:15

Re: [java]stampare a video la posizione degli elementi su un vector

Messaggio da misterxxitalia »

ho una classe con tutti gli attributi privati..questi metodi che ho scritto servono solo per visualizzare a schermo quello che c'è caricato nel vettore.
questo...

Codice: Seleziona tutto

public String toString()//metodo per la lettura dell'array
 {
    return "cognome:"+" "+cognome +" "+"nome:"+nome +" "+ "indirizzo:"+ " "+indirizzo+" "+"telefono:" +telefono+" "+ "affinita:" +" "+affinita;
 }
serve per stampare un nominativo in modo "leggibile" e questo...

Codice: Seleziona tutto

public void stampaArrayList()
{
  for (Enumeration e = nominativi.elements();e.hasMoreElements();) 
  
  {
      
      System.out.println("indice nel vettore:"+getnominativi().size()+e.nextElement().toString());
  }
}
serve per far stampare tutti i nominativi con conseguente uso del metodo .toString()....xo non ho idea di come stampare la posizione che occupa l'elemento nel vettore! cioè vorrei vedere questo...
posizione nel vettore(un numero), nome ,cognome,ecc....
piu chiaro quello che volevo dire??
Avatar utente
HammerOn
Prode Principiante
Messaggi: 236
Iscrizione: martedì 5 giugno 2007, 11:25

Re: [java]stampare a video la posizione degli elementi su un vector

Messaggio da HammerOn »

mha a me sembra di averti gia dato risposta cmq per essere più precisi possibile

copia e incolla il seguente metodo (che andrebbe a sostituire il tuo getArrayList())

Codice: Seleziona tutto

public void stampaArrayList()
{
  for (int e =0; e < nominativi.size();e++) 
  {      
      System.out.println("posizione:" +e+" cognome:"+" "+cognome +" "+"nome:"+nome +" "+ "indirizzo:"+ " "+indirizzo+" "+"telefono:" +telefono+" "+ "affinita:" +" "+affinita);
  }
}
Avatar utente
HammerOn
Prode Principiante
Messaggi: 236
Iscrizione: martedì 5 giugno 2007, 11:25

Re: [java]stampare a video la posizione degli elementi su un vector

Messaggio da HammerOn »

come è fatto il metodo getNominativi()?
misterxxitalia
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 838
Iscrizione: domenica 11 marzo 2007, 22:15

Re: [java]stampare a video la posizione degli elementi su un vector

Messaggio da misterxxitalia »

ti ringrazio ho risolto +- come hai detto...

Codice: Seleziona tutto

public void stampaArrayList()
{
  for (Enumeration e = nominativi.elements();e.hasMoreElements();) 
  for (int w =0; w < nominativi.size();w++) 
  {
      
      System.out.println("indice nel vettore:"+w+" "+getnominativi().size()+e.nextElement().toString());
  }
}
anche se trovo stampato 2 numeri nn richiesti...

Codice: Seleziona tutto

indice nel vettore:0 2cognome: Rossi nome:Paolo indirizzo: via Marconi 14, Milano telefono:0212345678 affinita: amicone
indice nel vettore:1 2cognome: Bianchi nome:Maria indirizzo: via Garibaldi 94/A, Torino telefono:01112045678 affinita: conoscente
un consiglio...

Codice: Seleziona tutto

  System.out.println("posizione:" +e+" cognome:"+" "+cognome +" "+"nome:"+nome +" "+ "indirizzo:"+ " "+indirizzo+" "+"telefono:" +telefono+" "+ "affinita:" +" "+affinita);
nome cognome ecc sono privati.li sostittuisco con getNome() getCognome() ecc?ti faccio notare che questo System.out.println si trova nella stessa classe dove si trova nome cognome ecc...
Avatar utente
HammerOn
Prode Principiante
Messaggi: 236
Iscrizione: martedì 5 giugno 2007, 11:25

Re: [java]stampare a video la posizione degli elementi su un vector

Messaggio da HammerOn »

il secondo numero è dato da getnominativi().size()

se il metodo getCognome() è solo un return allora puoi utilizzare benissimo cognome...

...non vorrei risultare offensivo ma non è che sia proprio una bella soluzione utilizzare due for annidati in quel modo...
misterxxitalia
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 838
Iscrizione: domenica 11 marzo 2007, 22:15

Re: [java]stampare a video la posizione degli elementi su un vector

Messaggio da misterxxitalia »

hai ragione sbadato....era una delle prove che avevo fatto! :Pcome li faresti quei for??nn ti preoccupare nn sei offensivo anzi!
Avatar utente
HammerOn
Prode Principiante
Messaggi: 236
Iscrizione: martedì 5 giugno 2007, 11:25

Re: [java]stampare a video la posizione degli elementi su un vector

Messaggio da HammerOn »

la correttezza dell'impementazione dipende da tante cose.....ad esempio perchè hai reimplementato il metodo toString?
se non è troppo lunga potresti postare tutta la classe cosi da avere una visione generale e magari aiutarti (nei limiti delle mie conoscenze e della visione un po ristretta del progetto che stai facendo)

ovviamente se ne hai voglia  (good)
misterxxitalia
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 838
Iscrizione: domenica 11 marzo 2007, 22:15

Re: [java]stampare a video la posizione degli elementi su un vector

Messaggio da misterxxitalia »

semplicemente perchè il metodo toString() nn mi permette di visualizzare tutti i nominativi!!annidare due for cosi è grammaticalmente scorretto??
Avatar utente
HammerOn
Prode Principiante
Messaggi: 236
Iscrizione: martedì 5 giugno 2007, 11:25

Re: [java]stampare a video la posizione degli elementi su un vector

Messaggio da HammerOn »

grammaticalmente è corretto (infatti compili e hai il risultato aspettato)..ma di sicuro è una brutta soluzione, per stampare una riga scorri lo stesso vettore due volte (in due modi differenti)....e tra l'altro, riguardando il codice, mi sembra strano che non stampi + volte le stesse informazioni
misterxxitalia
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 838
Iscrizione: domenica 11 marzo 2007, 22:15

Re: [java]stampare a video la posizione degli elementi su un vector

Messaggio da misterxxitalia »

be sono obbligato a scorrere lo stesso vettore due volte, la posizione del nominativo nel vettore nn è una sua propieta...comunque nn stampa piu volte la stessa cosa.grazie di tutto!
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 3 ospiti