我有一个javafx应用程序,它有两个类,即" Client"和" Interface_Client_Impl"。我在" Client"中定义了一个int数组。 class和初始化该数组的函数。当我尝试从Interface_Client_Impl访问索引i处的数组内容时,它总是返回0. Interface_Client_Impl类是远程访问的,并且能够获取变量的值而不是数组。我哪里错了。 -_- 这就是我所拥有的。
public class Client extends Application
{
public int size = 4;
public int array[] = new int[size];
public int min = 1;
public int max = 99;
public static void main(String[] args) throws Exception
{
launch(args);
}
@Override
public void start(Stage primaryStage) throws NotBoundException, RemoteException
{
initialize_arr();
//other codes
}
public void initialize_arr()
{
Random rand = new Random();
for(int i = 0; i < size; i++)
{//initialize with random values
int val = rand.nextInt(max - min + 1) + min;
array[i] = val;
}
}
}
//另一个班级
public class Interface_Client_Impl extends UnicastRemoteObject implements Interface_Client
{
public Client client = new Client();
@Override
public int exchange(int val)
{
Random rand = new Random();
int pos = rand.nextInt(client.size);
int return_val = client.array[pos];
client.array[pos] = val;
return return_val;
}
}
答案 0 :(得分:0)
您刚刚在Interface_Client_Impl类
中为Client创建了实例您需要调用客户端实例的数组初始化。您可以通过以下两种方式来完成
通过调用公共方法client.start(primaryStage)
或
通过调用公共方法client.initialize_arr()