|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jan 2010
Messaggi: 64
|
[JAVA] Scomposizione Vettori
allora ragazzi di nuovo un problemino, vi ripeto che ho 3 oggetti di tipo Case con due parametri es.:
Case uno = new Case(3,5) praticamente vi spiego...ho un vettore con 7 valori che mi servono e lo chiamo Valori...praticamente andando a confrontare il primo parametro di Case io devo andare a studiare solo le prime "3" posizioni del vettore cioè in questo caso ho 3 nel primo parametro mettiamo che il mio vettore di valori è Valori [13] [12] [5] [6] [4] [0] [9] quindi non riesco a trovare un qualcosa che mi permetta di andare a vedere che valore ha il mio primo parametro di Case che è un oggetto poi andare su questo vettore prendere i primi 3 valori e metterli dentro un altro vettore che chiameremo in un altro modo.... |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 7863
|
l' oggetto Case avrà un metodo get, accessore, relativo al primo parametro di costruzione che presumibilmente sarà una variabile d' istanza.
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Jan 2010
Messaggi: 64
|
bè si però mi sa che rileggendo nn mi sono spiegato bene
i miei casi Case uno = new Case(3,5) Case due = new Case(1,1) Case tre = new Case(3,7) il vettore Valori è quello di prima con 7 valori e voglio fare un ciclo for dove per ogni Case prendo il primo numero lo confronto con il vettore Valori in modo che se è 3 allora prendo questi tre primi valori del vettore Valori li metto dentro un nuovo array di sole 3 posizioni...tutto questo per ogni case |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2782
|
Codice:
Case uno = new Case(3,5); int vettUno[]=new int[uno.getPrimo()]; for(i=0;i<vettUno.length;i++) vettUno[i]=valori[i]; Case due = new Case(1,1); int vettDue[]=new int[due.getPrimo()]; for(i=0;i<vettDue.length;i++) vettDue[i]=valori[i]; Case tre = new Case(3,7); int vettTre[]=new int[tre.getPrimo()]; for(i=0;i<vettTre.length;i++) vettTre[i]=valori[i]; |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Prova a vedere se questo esempio ti è di aiuto:
Codice:
class Case
{
private int first, second;
public Case(int first, int second) {
this.first = first;
this.second = second;
}
public int getFirstParameter() { return first; }
}
public class Valori
{
// il tuo vettore di Valori
private int[] valori;
public Valori(int... values) {
this.valori = new int[values.length];
for(int i=0; i<values.length; i++) {
valori[i] = values[i];
}
}
public int[] valuesForCase(Case c) {
int param = c.getFirstParameter();
// gestiamo il caso in cui il valore nel Case sia maggiore
// della lunghezza del nostro "vettore" Valori
param = (param<=valori.length) ? param : valori.length;
int[] valuesForCase = new int[param];
for(int i=0; i<param; i++) {
valuesForCase[i] = valori[i];
}
return valuesForCase;
}
public static void main(String... argv) {
// Questo esempio stampa in output 13, 12, 5.
Valori v = new Valori(13, 12, 5, 6, 4, 0, 9);
Case uno = new Case(3,6);
int[] caseUno = v.valuesForCase(uno);
for(int value : caseUno) {
System.out.print(value+" ");
}
}
}
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) Ultima modifica di banryu79 : 28-01-2010 alle 15:04. |
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Jan 2010
Messaggi: 64
|
no forse non sono stato chiarissimo ma sto risolvendo con una cosa del genere
Codice:
Case[] casi = Lettura.leggiInput();
CalcoloDistanze cd = new CalcoloDistanze();
for(Case c : casi) {
cd.daiRisultati(c); //qui ottengo il vettore risultati con tutte le distanze tra i punti
int NumCirc = c.getN(); //valore di N nel caso corrente
Vector conf = new Vector(); //nuovo vettore per mettere 3 elementi del vettore risultati
for (int i=0; i<NumCirc;i++){ // per aggiungere al nuovo vettore i primi 3 elementi del vettore risultati
conf.add(risultati[i]);
}
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2782
|
Ma dove l'hai dichiarato "risultati"?
|
|
|
|
|
|
#8 |
|
Member
Iscritto dal: Jan 2010
Messaggi: 64
|
in un altro metodo dentro un altra classe
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2782
|
Quindi in quello spezzone di codice che hai postato è normale che non lo veda.
|
|
|
|
|
|
#10 |
|
Member
Iscritto dal: Jan 2010
Messaggi: 64
|
ho usato anche un metodo return nella stessa classe ma non gli piace neanche li....
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2782
|
Posta il codice del metodo daiRisultati
PS: stai lavorando su un codice scritto da altri? |
|
|
|
|
|
#12 |
|
Member
Iscritto dal: Jan 2010
Messaggi: 64
|
no no è un prgetto che sto facendo io...però aspetta che forse ho risolto...non vedevo una cosa abbastanza banale...
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:43.



















