PDA

View Full Version : [java] come passare dati tra due classi?


Axel Pallina
05-06-2011, 22:54
Premetto che sono un mega newbie di java e della programmazione in generale...
allora, in una classe ho un bellissimo array

class Array {
public Array(){
int array [] = new int [12];
for (int i=0;i<6;i++){
array[i]=(int)(Math.random()*100);}

String str="";
String spaz=" ";
for (int i=0;i<array.length;i++){
str=str+array[i]+spaz;}
}
}

e in un'altra classe devo prendere l'array (e anche la stringa finale str) per svolgerci varie operazioni (dopo aver cliccato un bottone)...
ebbene, come faccio? :mc:

mi serve una risposta asap per favore (in un linguaggio comprensibile per un noob magari) :cry:

WarDuck
05-06-2011, 23:36
Innanzitutto così come è fatta la classe non mi sembra molto utile...

Dovresti usare array come variabile di classe, lo stesso vale per str e dopodiché crearci i metodi giusti:


class Array {
int[] array;
String str;

public Array()
{
array = new int [12];
str = "";

for (int i=0;i<6;i++)
{
array[i]=(int)(Math.random()*100);
}

String spaz=" ";
for (int i=0;i<array.length;i++)
{
str=str+array[i]+spaz;
}
}

public String getString()
{
return str;
}

public int[] getArray()
{
return array;
}
}

Così facendo puoi richiamare da altre classi:


Array a = new Array();

String s = a.getString(); // restituisce la stringa
int[] arr = a.getArray(); // restituisce l'array


Se c'è qualcosa che non capisci in questo codice ti consiglio vivamente di studiarti per bene le classi ;).

Una piccola nota: quando devi concatenare delle stringhe in un ciclo, sarebbe meglio usare StringBuilder ed i suoi metodi, ma non ti voglio confondere per cui rimando eventualmente ad un secondo tempo i dettagli.

Axel Pallina
05-06-2011, 23:48
*_* grazie mille
comunque si, concordo con il fatto che dovrei studiarmi le classi e in generale le basi per l'OOP xd
grazie ancora comunque, ora guardo se riesco finalmente a completare il resto del programma :D