使用Java中构造函数中的设置方法设置数据?

时间:2014-12-05 00:33:23

标签: java arraylist constructor

我有一个类似11变量,需要使用用户提供的输入进行设置。该类具有以下构造函数和方法:

public class Sample {

int id;
Date date; 
String location;
int sampleNum;
(...)
String[] keywords; 

public Sample()
{
    keywords = new String[5];
    setData();
} 

public void setData()
{
location = JOptionPane.showInputDialog("");
sampleNumber = Integer.parseInt(JOptionPane.showInputDialog(""));
....
....
....
....
}

这是因为我有另一个类有这样的方法:

 public class SamplesList {

Sample sample;
boolean inUse;
SamplesList next; //next element in SamplesList 
SamplesList prev; //previous element in SamplesList 

public SamplesList (){
    inUse = false;
    next = null;
    prev = null;
}

public void setSamples()
{
int sampleNum = Integer.parseInt(JOptionPane.showInputDialog(""));
for (int i = 1; i <= sampleNum; i++)
  {
    JOptionPane.showMessageDialog(null, "Data #"+i);
    this.add(new Sample()); 
     //assuming SamplesList has a method add() that works exactly like an ArrayList.
  }
}

我需要创建需要通过输入设置并添加到List的i Samples。但是当我把所有东西都称为主要内容时。

public static void main (String args[])
{
    SamplesList sL = new SamplesList();
    sL.setSamples();
}

sampleList在所需列表中添加了适当数量的元素,但每个变量都没有设置好。

你能推荐我什么吗?我知道在构造函数中有一个方法是个坏主意D:

1 个答案:

答案 0 :(得分:0)

我建议在setSamples()中的字符串数组中获取所有变量,然后使用该数组作为参数调用构造函数。这样,您可以在构造函数中设置样本类中的变量的所有值。