Torna indietro   Hardware Upgrade Forum > Software > Programmazione

ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondono completezza e duttilità
ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondono completezza e duttilità
NUC 15 Pro e NUC 15 Pro+ sono i due nuovi mini-PC di casa ASUS pensati per uffici e piccole medie imprese. Compatti, potenti e pieni di porte per la massima flessibilità, le due proposte rispondono in pieno alle esigenze attuali e future grazie a una CPU con grafica integrata, accompagnata da una NPU per la gestione di alcuni compiti AI in locale.
Cybersecurity: email, utenti e agenti IA, la nuova visione di Proofpoint
Cybersecurity: email, utenti e agenti IA, la nuova visione di Proofpoint
Dal palco di Proofpoint Protect 2025 emerge la strategia per estendere la protezione dagli utenti agli agenti IA con il lancio di Satori Agents, nuove soluzioni di governance dei dati e partnership rafforzate che ridisegnano il panorama della cybersecurity
Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti
Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti
Dopo alcuni anni di assenza dai cataloghi dei suoi televisori, Hisense riporta sul mercato una proposta OLED che punta tutto sul rapporto qualità prezzo. Hisense 55A85N è un televisore completo e versatile che riesce a convincere anche senza raggiungere le vette di televisori di altra fascia (e altro prezzo)
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 29-04-2009, 11:32   #1
Balop
Senior Member
 
L'Avatar di Balop
 
Iscritto dal: Jul 2005
Messaggi: 3609
[Java] Esercizio con liste

Ciao a tutti, qualcuno saprebbe risolvere questo esercizio?

Scrivere il codice di una funzione statica java che permetta di copiare una matrice di generici oggetti in un vettore di liste. Il vettore di liste dovrà essere creato all'interno della funzione e restituito dalla funzione stessa. La lista generica i-esima del vettore di liste dovrà contenere tutti gli elementi della i-esima riga della matrice.

poi ne avrei anche un altro in cui si deve scrivere una funzione per gestire una lista... insomma ho un problemino con queste liste!!
__________________
Notebook MSI GT73VR 7RE TITAN SLI: 17.3" 4K IPS @ 120 Hz, i7-7820HK, 2x Nvidia GeForce GTX 1070 (SLI) - 8 GB GDDR5, 2x 16GB DDR4 2.400Mhz, Super Raid 4-512GB NVMe SSD +1TB (SATA) 7200rpm

In vendita:

|Utenti consigliati|: Marcondiron99
|Utenti sconsigliati|: iltoffa, otherman
Balop è offline   Rispondi citando il messaggio o parte di esso
Old 29-04-2009, 12:08   #2
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2775
http://www.hwupgrade.it/forum/showthread.php?t=1631648

Spiega cosa non ti e' chiaro e inizia a scrivere qualcosa.
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2009, 09:26   #3
Balop
Senior Member
 
L'Avatar di Balop
 
Iscritto dal: Jul 2005
Messaggi: 3609
si scusami, hai ragione...

intanto il mio problema in questo esercizio sta nel creare diverse liste quante sono le righe della matrice. come si può fare?

edit:
ho fatto la prova anche con una sola riga ma mi dà errore...

public class MatriceLista {
Nodo n;
MatriceLista Lista = new MatriceLista();

public MatriceLista() {
n = null;
}

public void add(Object v) {
Nodo nuovo = new Nodo(v, n);
n = nuovo;
}

public Object get() {
Object rk = n.valore;
n = n.next;
return rk;
}

public void crea() {
int n = 2;
Object matrice[][] = new Object[n][n];
for (int k = 0; k < matrice.length; k++) {
int j = 0;
Lista.add(matrice[j][k]);
}
}

public void stampa() {
while (n != null)
System.out.println(Lista.get());
}

public static void main(String[] args) {
MatriceLista obj = new MatriceLista();
obj.crea();
obj.stampa();

}


mi dice Exception in thread "main" java.lang.StackOverflowError
__________________
Notebook MSI GT73VR 7RE TITAN SLI: 17.3" 4K IPS @ 120 Hz, i7-7820HK, 2x Nvidia GeForce GTX 1070 (SLI) - 8 GB GDDR5, 2x 16GB DDR4 2.400Mhz, Super Raid 4-512GB NVMe SSD +1TB (SATA) 7200rpm

In vendita:

|Utenti consigliati|: Marcondiron99
|Utenti sconsigliati|: iltoffa, otherman

Ultima modifica di Balop : 12-05-2009 alle 10:25.
Balop è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2009, 13:48   #4
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2775
Penso che tu abbia inquadrato male il problema, proviamo con un esempio:
Abbiamo una matrice fatta così:
Codice:
[1][2][3]
[4][5][6]
[7][8][9]
Scusa la poca fantasia per i numeri.
Passata la matrice al metodo statico che dovresti implementare il risultato sarà un vettore:
Codice:
[L0][L1][L2]
L0, L1 ed L2 sono delle liste così composte:
Codice:
[L0]->1->2->3
[L1]->4->5->6
[L2]->7->8->9
Con dei generici oggetti invece di numeri il concetto non cambia.
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2009, 13:56   #5
Balop
Senior Member
 
L'Avatar di Balop
 
Iscritto dal: Jul 2005
Messaggi: 3609
Quote:
Originariamente inviato da wingman87 Guarda i messaggi
Penso che tu abbia inquadrato male il problema, proviamo con un esempio:
Abbiamo una matrice fatta così:
Codice:
[1][2][3]
[4][5][6]
[7][8][9]
Scusa la poca fantasia per i numeri.
Passata la matrice al metodo statico che dovresti implementare il risultato sarà un vettore:
Codice:
[L0][L1][L2]
L0, L1 ed L2 sono delle liste così composte:
Codice:
[L0]->1->2->3
[L1]->4->5->6
[L2]->7->8->9
Con dei generici oggetti invece di numeri il concetto non cambia.
si si, l'esercizio l'avevo capito...
però, proprio come hai visto tu, ad ogni riga corrisponde una lista (che a loro volta faranno parte di un vettore..),
ma come faccio a creare n liste (n = numero di righe) nelle quali poi inserire gli oggetti della matrice?
non lo so a priori quante righe saranno, e anche se lo sapessi, metti che la matrice è 10x10 non è che posso creare 10 liste ad una ad una...
__________________
Notebook MSI GT73VR 7RE TITAN SLI: 17.3" 4K IPS @ 120 Hz, i7-7820HK, 2x Nvidia GeForce GTX 1070 (SLI) - 8 GB GDDR5, 2x 16GB DDR4 2.400Mhz, Super Raid 4-512GB NVMe SSD +1TB (SATA) 7200rpm

In vendita:

|Utenti consigliati|: Marcondiron99
|Utenti sconsigliati|: iltoffa, otherman
Balop è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2009, 14:04   #6
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2775
Quote:
Originariamente inviato da Balop Guarda i messaggi
si si, l'esercizio l'avevo capito...
Ah ok, scusa
Quote:
Originariamente inviato da Balop Guarda i messaggi
però, proprio come hai visto tu, ad ogni riga corrisponde una lista (che a loro volta faranno parte di un vettore..),
ma come faccio a creare n liste (n = numero di righe) nelle quali poi inserire gli oggetti della matrice?
Fai una cosa del tipo:
Codice:
LinkedList<E> vettListe=new LinkedList<E>[matrice.length];
for(int i=0;i<vettListe.length;i++) vettListe[i]=new LinkedList<E>();
Non sono solo sicuro che la sintassi di quella parte che ho messo in grassetto sia corretta.
Quote:
Originariamente inviato da Balop Guarda i messaggi
non lo so a priori quante righe saranno, e anche se lo sapessi, metti che la matrice è 10x10 non è che posso creare 10 liste ad una ad una...
Invece è proprio quello che devi fare. Come vedi non è molto difficile, sono due righe di codice.
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2009, 14:22   #7
Balop
Senior Member
 
L'Avatar di Balop
 
Iscritto dal: Jul 2005
Messaggi: 3609
Quote:
Originariamente inviato da wingman87 Guarda i messaggi
Invece è proprio quello che devi fare. Come vedi non è molto difficile, sono due righe di codice.
cercavo proprio un modo per crearla con un paio di righe di codice, solo che non sapevo come fare..
io intendevo che non le volevo creare una ad una facendo:
MatriceLista Lista1 = new MatriceLista();
MatriceLista Lista2 = new MatriceLista();
.
.
MatriceLista ListaN = new MatriceLista();



Quote:
Originariamente inviato da wingman87 Guarda i messaggi
Fai una cosa del tipo:
Codice:
LinkedList<E> vettListe=new LinkedList<E>[matrice.length];
for(int i=0;i<vettListe.length;i++) vettListe[i]=new LinkedList<E>();
Non sono solo sicuro che la sintassi di quella parte che ho messo in grassetto sia corretta.
ora vedo se funziona così. intanto grazie
__________________
Notebook MSI GT73VR 7RE TITAN SLI: 17.3" 4K IPS @ 120 Hz, i7-7820HK, 2x Nvidia GeForce GTX 1070 (SLI) - 8 GB GDDR5, 2x 16GB DDR4 2.400Mhz, Super Raid 4-512GB NVMe SSD +1TB (SATA) 7200rpm

In vendita:

|Utenti consigliati|: Marcondiron99
|Utenti sconsigliati|: iltoffa, otherman
Balop è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2009, 15:37   #8
Balop
Senior Member
 
L'Avatar di Balop
 
Iscritto dal: Jul 2005
Messaggi: 3609
ormai tanto per concludere la pagina ecco il programma finito (per funzionare funziona, però se c'è qualcosa che non va fatemi sapere):
Codice:
public class MatriceLista {
	static Object matrice[][] = {{1,2,3},{4,5,6},{7,8,9},{2,6,8}};
	static LinkedList<Object> vettListe[] = new LinkedList[matrice.length];
	
	public void crea() {
		for (int i = 0; i < vettListe.length; i++)
			vettListe[i] = new LinkedList<Object>();
//		System.out.println(vettListe.length);
		for (int k=0; k<matrice.length; k++){
			for (int j=0; j<matrice[0].length; j++){
				vettListe[k].add(j, matrice[k][j]);
			}
		}
	}

	public void stampa() {
		for (int i=0; i<matrice.length; i++) System.out.println(vettListe[i]);
	}

	public static void main(String[] args) {
		MatriceLista obj = new MatriceLista();
		obj.crea();
		obj.stampa();
	}
}
grazie wingman87!!!

PS: effettivamente avevi ragione, cioè non è che non avevo capito il testo, ma non sapevo come funzionavano le LinkedList, quindi io volevo fare delle semplici liste (infatti c'era la parte inutile dove definivo i nodi ecc che ora non serve più..) e poi "collegarle" in qualche modo in un vettore... quindi non sapevo come fare per crearne n diverse con un ciclo for!!

PPS: ho visto che l'avrei potuto fare lo stesso con l'ArrayList che avevo visto, ma che non sapevo lo stesso come funzionasse...
__________________
Notebook MSI GT73VR 7RE TITAN SLI: 17.3" 4K IPS @ 120 Hz, i7-7820HK, 2x Nvidia GeForce GTX 1070 (SLI) - 8 GB GDDR5, 2x 16GB DDR4 2.400Mhz, Super Raid 4-512GB NVMe SSD +1TB (SATA) 7200rpm

In vendita:

|Utenti consigliati|: Marcondiron99
|Utenti sconsigliati|: iltoffa, otherman
Balop è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2009, 15:51   #9
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2775
Sono contento che hai risolto, però c'è ancora qualcosa che non va: il testo dell'esercizio richiede che il lavoro sia svolto da una funzione statica che prende in input la matrice e che restituisce il vettore di liste, inoltre sfruttando i generici potresti evitare di usare sempre Object. Quindi in pratica il main sarà una cosa tipo:
Codice:
public static void main(String[] args){
  Integer matrice[][] = {{1,2,3},{4,5,6},{7,8,9},{2,6,8}};
  LinkedList vettListe[]=creaVettListe(matrice);
  //Qui poi puoi mettere la stampa dei valori per controllare che funzioni
}
e il metodo avrà un'intestazione di questo tipo:
Codice:
public static <E> LinkedList<E> creaVettListe(E[][] matrice)
Spero di non aver fatto confusione con i generici.
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2009, 16:11   #10
Balop
Senior Member
 
L'Avatar di Balop
 
Iscritto dal: Jul 2005
Messaggi: 3609
Quote:
Originariamente inviato da wingman87 Guarda i messaggi
Sono contento che hai risolto, però c'è ancora qualcosa che non va: il testo dell'esercizio richiede che il lavoro sia svolto da una funzione statica che prende in input la matrice e che restituisce il vettore di liste, inoltre sfruttando i generici potresti evitare di usare sempre Object. Quindi in pratica il main sarà una cosa tipo:
Codice:
public static void main(String[] args){
  Integer matrice[][] = {{1,2,3},{4,5,6},{7,8,9},{2,6,8}};
  LinkedList vettListe[]=creaVettListe(matrice);
  //Qui poi puoi mettere la stampa dei valori per controllare che funzioni
}
e il metodo avrà un'intestazione di questo tipo:
Codice:
public static <E> LinkedList<E> creaVettListe(E[][] matrice)
Spero di non aver fatto confusione con i generici.
mmm... mettendo queste righe che hai scritto tu... sballano un pò di cose e non riesco più a farlo funzionare...
__________________
Notebook MSI GT73VR 7RE TITAN SLI: 17.3" 4K IPS @ 120 Hz, i7-7820HK, 2x Nvidia GeForce GTX 1070 (SLI) - 8 GB GDDR5, 2x 16GB DDR4 2.400Mhz, Super Raid 4-512GB NVMe SSD +1TB (SATA) 7200rpm

In vendita:

|Utenti consigliati|: Marcondiron99
|Utenti sconsigliati|: iltoffa, otherman
Balop è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2009, 16:14   #11
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2775
Beh sì, devi modificare quasi tutto e tenere solo la logica del metodo. Devi fare solo un lavoro di riorganizzazione.
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2009, 16:29   #12
Balop
Senior Member
 
L'Avatar di Balop
 
Iscritto dal: Jul 2005
Messaggi: 3609
Quote:
Originariamente inviato da wingman87 Guarda i messaggi
Beh sì, devi modificare quasi tutto e tenere solo la logica del metodo. Devi fare solo un lavoro di riorganizzazione.
ora devo andare, casomai stasera o domani vedo di riorganizzare un pò tutto..
comunque grazie 1000!!
__________________
Notebook MSI GT73VR 7RE TITAN SLI: 17.3" 4K IPS @ 120 Hz, i7-7820HK, 2x Nvidia GeForce GTX 1070 (SLI) - 8 GB GDDR5, 2x 16GB DDR4 2.400Mhz, Super Raid 4-512GB NVMe SSD +1TB (SATA) 7200rpm

In vendita:

|Utenti consigliati|: Marcondiron99
|Utenti sconsigliati|: iltoffa, otherman
Balop è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondono completezza e duttilità ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondo...
Cybersecurity: email, utenti e agenti IA, la nuova visione di Proofpoint Cybersecurity: email, utenti e agenti IA, la nuo...
Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti Hisense A85N: il ritorno all’OLED è convi...
Acer TravelMate P6 14 AI: il Copilot+ PC sotto il chilo per il professionista in movimento Acer TravelMate P6 14 AI: il Copilot+ PC sotto i...
Recensione Borderlands 4, tra divertimento e problemi tecnici Recensione Borderlands 4, tra divertimento e pro...
Windows 11 25H2 (2025 Update): ecco la l...
Blink Mini e Outdoor 4 in super offerta:...
Fire TV Stick HD, 4K e 4K Max: streaming...
Echo Dot, Echo Show ed Echo Spot in offe...
Kindle Colorsoft e Scribe in offerta: co...
Disney diffida Character.AI: stop all'us...
ASUS ROG aggiorna la sua gamma: arrivano...
Avalanche Studios, la software house che...
Tante novità in arrivo per OnePlu...
Novità per la smarthome da EZVIZ....
Intel SGX e AMD SEV-SNP aggirabili su pi...
Autovelox, parte il censimento ufficiale...
Adobe Premiere arriva su iPhone: l'app &...
Il Cybertruck di Tesla non può es...
Windows 11 25H2 è stato appena ri...
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: 13:33.


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