Java从另一个类调用数组

时间:2017-04-27 19:35:46

标签: java arrays class

我正在尝试将int total_comparisons=0;个对象存储到从数组if(total_comparisons++ && array1[point1]>array2[point2]) //This is to be counted as a comparison创建的文本文件中,该文件在另一个类中实例化。我的问题是每当我尝试将数组从total_comparisons类加载到arrayList类时,它会将整个数组显示为空输出。我想问题是数组数据是在Mainframe方法中生成的,当我从另一个类调用数组时,它只是在初始化时获取数组。所以我的问题是如何在分配值而不是初始化数组后如何访问数组。

ipvalue[]

3 个答案:

答案 0 :(得分:1)

简而言之,您没有调用用数据填充数组的Mainframe()。在需要使用main数组之前,应该使用ipvalue方法执行此操作。因此,只需在Mainframe实例上调用此方法:

public static void main(String[] args) throws  ClassNotFoundException { 

  ArrayList<String> list = new ArrayList<String>();
  Mainframe frame = new Mainframe();
  frame.Mainframe();
  for (int i=0; i<50;i++){
  list.add(Mainframe.ipvalue[i]);
  }
  ... // do the rest

总之,请至少阅读Oracle Java tutorial有关命名约定,代码结构等的Java基础知识

答案 1 :(得分:1)

创建静态块初始值设定项:

public class Mainframe extends javax.swing.JFrame {

    static int ipcounter = 0;
    public static String[] ipvalue = new String [50];

    static {
        File file = new File("ipcounter.txt");
        FileReader in = new FileReader("ipcounter.txt");
        BufferedReader br = new BufferedReader(in);

        // Fill your ipvalue

        in.close();
    }

    // The rest of your class definition
    public MainFrame() {

    }

答案 2 :(得分:1)

你们可能是对的,但我找到了另一种解决方案 在大型机类中,我调用了arraystorage的main方法      Arraystorage.main(NULL);
在为数组赋值后,它可以工作!