2017-10-14 73 views
0

我是Java编程的新手,现在我正在制作一个计算应用程序,您可以将数字输入到一个文本字段并获取平均值,中值,模式的结果和标准差。 我现在面临的问题是标准偏差部分。 我创建计算基于使用下面的代码在应用上的一个文本框输入的数字标准偏差的方法:从JTextField获取数字作为Java中标准偏差计算的数组

static double Q2(ArrayList<Integer> input) { 
    Collections.sort(input); 

    ArrayList<Double> input2 = new ArrayList<>(); 
    double sum = 0; 
    double sum2 = 0; 
    double sd = 0; 

    for (int i = 0; i < input.size(); i++) { 
     sum = sum + input.get(i); 
    } 

    double mean = sum/input.size(); 

    for (int i = 0; i < input.size(); i++) { 
     input2.add((Math.pow((input.get(i) - mean), 2))); 
    } 

    for (int i = 0; i < input2.size(); i++) { 
     sum2 = sum2 + input2.get(i); 
    } 

    double mean2 = sum2/input2.size(); 

    sd = Math.sqrt(mean2); 

    return sd; 
} 

,这是我的ActionListener代码:

standardevButton.addActionListener(new ActionListener() { 
     public void actionPerformed(ActionEvent e) { 
      String [] numString = inputField.getText().trim().split(" "); 
      outputLabel.setText(getStandarDev(getValueSet(numString))); 
     } 

但我现在的问题是我不知道如何获得在文本框中输入的数字,并显示标准偏差计算结果,当我按下应用程序中的标准偏差按钮。

This is the interface of the application

下面

是主要方法和标准差代码:

public static void main(String [] args) 
{ 
    TugasMatematika runIt = new TugasMatematika(); 
} 
public static String getStandarDev(double [] nums) 
{ 

} 

我一直在寻找的答案对这个问题相当长一段时间,所以我会,如果真的很感激有人可以帮助我解决这个问题。

回答

0

转到了鼠标点击的标准偏差按钮和使用一套方法侦听的setText的文本字段需要的答案

0

这行代码在这里:

String [] numString = inputField.getText().trim().split(" "); 

实际上得到每一个空间上的分隔号你的文本框。但是,这些数据是字符串数据类型,因此您必须将它们逐一解析为数字数据类型,例如double或integer。让我给你一个想法在这里:

for each String variable in my String array 
receivingIntegerVariable = Integer.parseInt(stringVariable) or 
receivingDoubleVariable = Double.parseDouble(stringVariable) 

在另一方面,如果你想按钮,点击后显示计算的实际结果,试图将事件侦听器附加到按钮,有一个处理方法会用你的计算结果更新你的JTextField。

JTextFieldX.setText(resultGoesHere); 

编辑:它看起来像你使用标签来显示你的结果。这里适用相同的概念。

+0

为解析,我应该把它们放在public static String GetStandarDev或actionListener里面吗?我很抱歉,但我很困惑,我应该把它放在哪里,我有点儿明白你的意思。 – Indra

+0

这取决于你。我建议你把它放在一个单独的方法,所以你可以重新使用它,只要你想。 – jjjmnz

+0

嗯..所以我应该做一个单独的方法来获取存储在String [] numString中的值?你至少能给我提示如何通过它?因为我试图写下“公共静态字符串GetStandardDev(字符串[]值)”,但我得到的是错误,我现在很困惑。 – Indra