Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming
Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming
Pannello QD-OLED da 32 pollici con risoluzione 4K, frequenza di aggiornamento a 240Hz e tempi di risposta rapidissimi: il Gigabyte MO32U24 evolve il progetto del suo predecessore MO32U e alza ulteriormente l'asticella delle prestazioni. È ancora una volta un monitor indirizzato ai giocatori più esigenti
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
realme 16 5G è un nuovo smartphone con sensore Sony IMX 852 da 50MP sul retro e uno specchio selfie fisico integrato nella camera bar, una prima nel segmento di mercato. Batteria da 6550mAh in un corpo da 8,1mm e 183g, certificazione IP69K e ricarica da 45W completano un pacchetto aggressivo per la fascia media, per uno dei prodotti più interessanti del produttore sul piano commerciale
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Sono ormai definitive le nuove norme del Codice della Strada per i monopattini elettrici. Non solo targa e assicurazione, le regole sono tante e riguardano diversi aspetti, vi spieghiamo come evitare sanzioni che possono essere salate
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 15-08-2005, 18:01   #1
GiulioCesare
Senior Member
 
Iscritto dal: Apr 2004
Messaggi: 364
[Java] Uso Array List

Salve ho fatto un piccolo programma per capire come funziona la classe ArrayList. Ho una struttura dati che contiene il nome di una persona e la sua età, il ciclo di riempimento della struttura termina quando al campo età inserisco il valore zero. Il programma a quanto pare funziona bene, fino a quando provo a stampare la struttura precedentemente riempita. Spero che qualcuno vorrà aiutarmi, comunque questo è il codice
Codice:
import java.util.*;
import javax.swing.*;

class dati
{
	dati(String n, int v)
	{
		int voto;
		String nome;
		voto=v;
		nome=n;
	}
}

public class vettdim
{

	public static void main (String[] args)
	{
		ArrayList a = new ArrayList();

		int x=0;
		String y;

		y = JOptionPane.showInputDialog("Inserire età");
		x = Integer.parseInt(y);

		while(x!=0)
		{
			y = JOptionPane.showInputDialog("Inserire nome");
			a.add(new dati(y,x));
			y = JOptionPane.showInputDialog("Inserire età");
			x = Integer.parseInt(y);
		}

		for(int i=0;i<=a.size();i++)
		{
			System.out.println(a.get(i));
		}


		System.exit(0);
	}
}
GiulioCesare è offline   Rispondi citando il messaggio o parte di esso
Old 15-08-2005, 18:44   #2
cisc
Senior Member
 
L'Avatar di cisc
 
Iscritto dal: Nov 2002
Città: Cosenza --> Roma
Messaggi: 853
be, a parte che ti consiglierei di usare i generics (ArrayList<Dati> a=new ArrayList<Dati>(), se nella classe dati le variabili di istanza le dichiari nel costruttore, penso che non memorizzerai niente, poi ti consiglierei di ridefinire il metodo toString():

Codice:
 
class dati
{
	  int voto;
          String nome;

         dati(String n, int v)
	{
		voto=v;
		nome=n;
	}

         @Override
         public String toString() {
                 StringBuilder sb=new StringBuilder();
                 sb.append("nome: ").append(nome).append(" voto:").append(voto);
                 return sb.toString();            
        }

}
per il for finale puoi utilizzare questo:

Codice:
 
		for(dati d:a)
		{
			System.out.println(d);
		}
__________________
GNU MyServer Wants YOU!!
We live thinking we will never die. We die thinking we had never lived. Jason Becker
cisc è offline   Rispondi citando il messaggio o parte di esso
Old 15-08-2005, 19:50   #3
GiulioCesare
Senior Member
 
Iscritto dal: Apr 2004
Messaggi: 364
I dati vengono memorizzati nella struttura, l'unico problema è come visualizzarli in output
GiulioCesare è offline   Rispondi citando il messaggio o parte di esso
Old 15-08-2005, 20:26   #4
cisc
Senior Member
 
L'Avatar di cisc
 
Iscritto dal: Nov 2002
Città: Cosenza --> Roma
Messaggi: 853
vabbè, con il tuo codice non salvi niente nella struttura, cmq, potresti postare cosa fa precisamente il prog, cosa stampa? hai provato le mie modifiche?
__________________
GNU MyServer Wants YOU!!
We live thinking we will never die. We die thinking we had never lived. Jason Becker
cisc è offline   Rispondi citando il messaggio o parte di esso
Old 17-08-2005, 09:46   #5
franksisca
Senior Member
 
L'Avatar di franksisca
 
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
Per prima cosa
Codice:
int voto;
String nome;
public Dati(int x, String y){
voto=x;
nome=y;
}
e poi per fare la stampa devi ridefinire il metodo toString(come ha detto cisc )
Codice:
public String toString(){
return this.nome+"_"+this.voto;
}
__________________
My gaming placement
franksisca è offline   Rispondi citando il messaggio o parte di esso
Old 17-08-2005, 09:49   #6
franksisca
Senior Member
 
L'Avatar di franksisca
 
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
Quote:
Originariamente inviato da cisc

per il for finale puoi utilizzare questo:

Codice:
 
		for(dati d:a)
		{
			System.out.println(d);
		}
Finalmente qualcuno che usa il for della JDK TIGER, mi potresti spiegare come funziona???
Nigro lo ha fatto quest'anno??é
__________________
My gaming placement
franksisca è offline   Rispondi citando il messaggio o parte di esso
Old 17-08-2005, 11:02   #7
cisc
Senior Member
 
L'Avatar di cisc
 
Iscritto dal: Nov 2002
Città: Cosenza --> Roma
Messaggi: 853
Quote:
Originariamente inviato da franksisca
Finalmente qualcuno che usa il for della JDK TIGER, mi potresti spiegare come funziona???
Nigro lo ha fatto quest'anno??é
Nigro non so, Furfaro si , praticamente si può applicare a tutte le istanze di classi che implementano l'interfaccia Itreable (Collection estende Iterable, quindi...) e agli array, devi mettere il nome del tipo di oggetti contenuti nell'Iterable (o nell'array), seguito da un identificatore che ti identifica ogni volta l'oggetto ottenuto nel ciclio, poi i : seguiti dall'Iterable (o array). Alla fine ti permette di iterare si un Iterable senza dover usare in iteratore, l'unico problema e che non puoi modificare l'Iterable, ma puoi solo scorrere in lettura. E' chiaro che ogni volta in d (prendo in esame l'esempio precedente) c'hai un oggetto dati differente dell'ArrayList a. Spero di essere stato chiaro, anche se non so spiegarmi molto bene, cmq non è difficile
__________________
GNU MyServer Wants YOU!!
We live thinking we will never die. We die thinking we had never lived. Jason Becker
cisc è offline   Rispondi citando il messaggio o parte di esso
Old 17-08-2005, 15:07   #8
franksisca
Senior Member
 
L'Avatar di franksisca
 
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
praticamente d diventa l'iteratore che contiene l'oggetto di a???
quindi tu stampando d, stampi ogni volta un singolo oggetto di a(con riferimento all'esempio)
__________________
My gaming placement
franksisca è offline   Rispondi citando il messaggio o parte di esso
Old 17-08-2005, 17:23   #9
cisc
Senior Member
 
L'Avatar di cisc
 
Iscritto dal: Nov 2002
Città: Cosenza --> Roma
Messaggi: 853
Quote:
Originariamente inviato da franksisca
praticamente d diventa l'iteratore che contiene l'oggetto di a???
quindi tu stampando d, stampi ogni volta un singolo oggetto di a(con riferimento all'esempio)
allora d non è l'iteratore, diciamo che tutto il meccanismo funziona grazie all'iterator, ma d è ogni volta un oggetti diverso di a
__________________
GNU MyServer Wants YOU!!
We live thinking we will never die. We die thinking we had never lived. Jason Becker
cisc è offline   Rispondi citando il messaggio o parte di esso
Old 18-08-2005, 09:22   #10
franksisca
Senior Member
 
L'Avatar di franksisca
 
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
, credo di aver capito.
__________________
My gaming placement
franksisca è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming Gigabyte MO32U24 OLED: il 4K a 240Hz su un panne...
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh Recensione realme 16 5G: lo smartphone con Selfi...
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni Come rispettare tutte le nuove regole per i mono...
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta DLSS 4.5: con Dynamic Frame Generation e MFG 6X ...
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere) Plaud NotePin S, il registratore IA si fa indoss...
Infineon apre il 2 luglio lo Smart Power...
Crimson Desert non si ferma: il gioco di...
Con iOS 27 l'iPhone si ripristina da sol...
Visa porta i pagamenti in ChatGPT: gli a...
OpenAI valuta un 'drastico' taglio dei p...
Il MacBook con display touch si far&agra...
Google promette di restituire più...
Quattro monitor 4K, doppia LAN 2.5G e Wi...
ROG Equalizer, il cavo 'salva-GPU': prim...
Falla critica CVSS 9.8 in Oracle PeopleS...
Microsoft accelera su Edge: aggiornament...
AMD ha corretto un bug da 10.000 dollari...
Vertiv: data center, la corsa dell’IA sp...
Siri non diventerà la tua fidanzata virt...
Prezzi in crescita del 200% e forniture ...
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: 19:33.


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