PDA

View Full Version : [JAVA] E se volessi passare un array da un main ad un costruttore, come fare?


luxorl
31-05-2005, 17:09
Ciao,
quello che vorrei fare è creare un costruttore che accetta un array dal main, posso fare così oppure no?

public class Test{
int array[];
public Test(int array[]){
this array[]=array[];
}

e poi dal main crearmi un array e creare così l'oggetto:
Test t= new test(arraycreato[])

Io penso proprio di no! ...ma come fare allora?

grazie :mano:

3nigma666
31-05-2005, 17:24
non per contraddirti :D ma è fattibilissimo. devi solo ritoccare alcune cosi ke hai scritto, prob. errori di digi. tipo:

this array[] = array[];

// è sbagliato perke si scrive:

this.array[] = array[];



cmq si fa cosi,allora:



-------->File : Test.java
public class Test
{
private int array[];
public Test(int array[])
{
this.array[]=array[];
}
public int array(int k)
{
return array[k];
}
}


--------------> File Proviamo.java

public class Proviamo
{
private int array[];
private int final MAX = 50;
public Proviamo()
{ }

public static void main()
{
for (int k=0;k<= MAX;k++)
array[k] += 1;
Test test = new Test(array[]);
for (int k=0;k<= MAX;k++)
System.out.println("Valore Array["+k+"]: "+test.array(k));
}
}


:sofico:

^TiGeRShArK^
31-05-2005, 18:36
:confused: ma nn basta scrivere this.array=array senza parentesi quadre???

3nigma666
31-05-2005, 19:26
SKerzi??se ometti il punto l'IDE ,qualsiasi tu utilizzi ti torna un errore scritto in caratteri ARIAL CUBITALI!
no no .. il . è rigoroso perke è come se io scrivessi:

classe pippo
{
public topolina;

public pippo(int topolina)
{
this.topolina = topolina; // è equivalente a scrivere pippo.topolina ovverosia accedo alla variabile topolina dell'oggetto pippo
}
}



se invece scrivessi



classe pippo
{
public topolina;

public pippo(int topolina)
{
this topolina = topolina; // E' cose se io dichiarassi un ennesima variabile topolina di tipo this (ovverosia in questo caso di tipo pippo)
}
}



Sono due cose completamente diverse

luxorl
31-05-2005, 19:46
SKerzi??se ometti il punto l'IDE ,qualsiasi tu utilizzi ti torna un errore scritto in caratteri ARIAL CUBITALI!
no no .. il . è rigoroso perke è come se io scrivessi:

classe pippo
{
public topolina;

public pippo(int topolina)
{
this.topolina = topolina; // è equivalente a scrivere pippo.topolina ovverosia accedo alla variabile topolina dell'oggetto pippo
}
}



se invece scrivessi



classe pippo
{
public topolina;

public pippo(int topolina)
{
this topolina = topolina; // E' cose se io dichiarassi un ennesima variabile topolina di tipo this (ovverosia in questo caso di tipo pippo)
}
}



Sono due cose completamente diverse

Si ma io il punto l'ho dimenticato per sbaglio :p
lui chiedeva se si poteva scrivere senza le parentesi e non il punto :)

Comunque grazie.. avevo fatto giusto!

ed un'ultima cosa.. se io passo un array il passaggio avviene per riferimento, cioè passo il "vettore" che indica quell'array e quindi se lo modifico modifico l'array originale... senza così aver bisogno di ritornare niente.. giusto?

3nigma666
31-05-2005, 19:59
ehm opss sorry ho letto male :doh: :cry: :ave: chiedo venia