有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

从JTextField中获取数字作为数组,用于Java中的标准偏差计算

我是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) 
{

}

我一直在寻找这个问题的答案,所以如果有人能帮我解决这个问题,我将非常感激


共 (2) 个答案

  1. # 1 楼答案

    这行代码如下:

    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);
    

    编辑:似乎您正在使用标签来显示结果。同样的概念也适用于这里

  2. # 2 楼答案

    在标准偏差按钮上单击鼠标,然后使用set方法在文本字段中设置所需答案