2014-12-05 59 views
0

我有一个类有11个变量,需要使用用户提供的输入来设置。这个类有以下构造函数和方法:在Java的构造函数中使用设置方法设置数据?

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. 
    } 
} 

我需要创建我需要通过输入设置样本并添加到列表中。但是,当我打电话给主要的一切。

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

sampleList因为如果他们没有被设置,已经添加了所需的列表,但与每一个变量元素的适量。

你能推荐我一些东西吗?我知道在构造函数中使用方法是个坏主意D:

+0

大约一个小时前你不问这个问题吗?你为什么要重新发帖? – EJK 2014-12-05 00:37:55

+0

因为我给出的解释不正确,所以我在发布之后像7分钟那样删除了旧的那个。 – RedSkull 2014-12-05 00:42:14

+0

确保一个类具有尽可能少的依赖关系是很好的设计。在你的发布代码中,你的类依赖Gui来设置它的值。班级根本不需要知道gui。相反,将值作为参数传递给构造函数或设置其成员变量的类方法。 – 2014-12-05 00:46:50

回答

0

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

相关问题