数组和构造函数

时间:2017-09-04 23:10:18

标签: java arrays constructor

我无法从主类中获取数组并使用其构造函数将数字数组存储在数据库的字段中。目的是保存数字,然后对它们进行排序(升序和降序)。这是包含构造函数的类。

public class Sort {
    private int value; // Though it is not used, I feel like this may be important?
    private Sort[] numStore;

    public Sort(int numStore, int value) { // The constructor needed to store the numbers.
        this.numStore = new Sort[4]; // I found this during my research         
    }

    public Sort[] getArray() {
        return this.numStore; // I have to print the contents of the array.
    }
}

这是我的主要课程:

public class Data {
    public static void main(String[] args) {    
        Sort sortObj = new Sort(2, 2); // Was given this example
        System.out.println(Arrays.deepToString(sortObj.getArray())); // The contents would only appear if I did this.
    }
}

这是输出结果,我得到的最接近:

[null, null, null, null].

我可以通过在构造函数中使用该行来显示要显示的元素,但是我无法获取存储在其中的值。我觉得主要课程中需要有一些东西,而我却找不到它。

请解释我做错了什么,缺少什么,以及为什么。我是一名大学生,但我想知道这些方法和原因,而不仅仅是答案。

编辑:请原谅我在我的问题中如此模糊。我感谢大家的回复。通过查看@tima提供的链接,我的问题确实是重复的。并感谢@Francesco Serra尝试用代码回答我的问题。请关闭我的问题。

1 个答案:

答案 0 :(得分:0)

您的代码真的不完整:

  • 无法将值插入数组
  • 有一些类未分类的成员
  • 没有用于排序数组的系统

要理解你想做什么是完全不可能的!我已经做了一些假设告诉我如何修改它:

dependencies {
compile('org.springframework.boot:spring-boot-starter')
testCompile('org.springframework.boot:spring-boot-starter-test')
}

然后你的主要可能是:

public class Sort {
  private int value; //sort information
  private Sort[] numStore; //Array

  public Sort(int numStore, int value) { 
    //Why numStroe and value are not used?
    //This is only an hipothesys
    if(numStore==0){ 
     //no information about array length, 
     //so this object is only an element of array
     this.value = value;
    } else {
     //else initialize array
     this.numStore = new Sort[numStore];  
    }    
  }

  //you need some way to add data
  public void addElement(int position,int value){
    this.numStore[position]=new Sort(0,value);
  }

  //You need some way to sort data
  public void sortArray(){
      //Apply your logic to sort this.numStore
  }

  public Sort[] getArray() {
    //Sort before return back!
    sortArray();
    return this.numStore; // I have to print the contents of the array.
  }

}