View Full Version : [Fanta-Java] Sintassi questa sconosciuta, aiuto!
Salve a tutti!
Riempio una matrice in questo modo:
data[1][0] = "Sole"; data[1][1] = "caldo"; data[1][2] = "Alta"; data[1][3] = "Forte"; data[1][4] = "No";
solo che non mi piace tanto, vorrei fare una classe Tupla, e fare un'array data di n Tuple.
vorrei fare questo:
data[1] = new Tuple( {"Sole","Caldo","Alta","Forte","No"} );
perchè il costruttore di Tuple l'ho messo con parametro String[] ma non sembra possibile a livello sintattico, qualche escamotage?
Grazie mille
Salve a tutti!
Riempio una matrice in questo modo:
data[1][0] = "Sole"; data[1][1] = "caldo"; data[1][2] = "Alta"; data[1][3] = "Forte"; data[1][4] = "No";
solo che non mi piace tanto, vorrei fare una classe Tupla, e fare un'array data di n Tuple.
vorrei fare questo:
data[1] = new Tuple( {"Sole","Caldo","Alta","Forte","No"} );
perchè il costruttore di Tuple l'ho messo con parametro String[] ma non sembra possibile a livello sintattico, qualche escamotage?
Grazie milleesattamente cosa ti impedisce di fare così:
String[][] data = {
new String[] { "Sole", "Caldo", "Alta", "Forte", "No" },
new String[] { .... }
};
lock cmpxchg8b %ebx
07-05-2010, 22:18
Potresti anche usare una funzione (in questo caso un costruttore) che accetta un numero variabile di argomenti.
class Tuple
{
public Tuple(String... args)
{
//fai qualcosa con args, è un array di stringhe
}
}
new Tuple("A", "B", "C") //args sarà un array con tre stringhe
new Tuple("A") //args sarà un array con una singola stringa
new Tuple() //args sarà un array vuoto
Etc.
wingman87
07-05-2010, 22:18
Oppure se proprio vuoi usare la classe Tupla puoi dichiarare il costruttore in questo modo:
Tupla(String...args){
//codice
}
Ed usarlo così:
data[1] = new Tupla("Sole","Caldo","Alta","Forte","No");
EDIT: mi hanno preceduto
nuovoUtente86
07-05-2010, 22:19
scusa fare cosi
String [] lista = {"Sole","Caldo","Alta","Forte","No"};
data[1] = new Tuple(lista);
oppure utilizzando i varargs definisci il costruttore di Tuple cosi
Tuple (String ... lista) e passi un numero variabile di Stringhe.
vorrei fare questo:
data[1] = new Tuple( {"Sole","Caldo","Alta","Forte","No"} );
Tuple[] data = new Tuple[1];
data[1] = new Tuple( new String[] { "Sole", "Caldo", "Alta", "Forte", "Now"} );
Tuple[] data = new Tuple[1];
data[1] = new Tuple( new String[] { "Sole", "Caldo", "Alta", "Forte", "Now"} ); ArrayIndexOutOfBoundsException :D
grazie mille ragazzi siete mitici!!!
Ho risolto con String... nel costruttore, ma andava bene anche
data[1] = new Tuple( new String[] { "Sole", "Caldo", "Alta", "Forte", "Now"} );
graziee
ora però viene fuori il problema per il quale ho voluto "trasformare" quella matrice in un array.. ordinarla tramite Arrays.sort, a chi fosse curioso/volesse aiutare un anima candida:
http://www.hwupgrade.it/forum/showthread.php?t=2189361
:D
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.