簡體   English   中英

從JTextField獲取數字作為數組用於Java中的標准偏差計算

[英]Get Numbers from JTextField as Array for Standard Deviation Calculation in Java

我是Java編程的新手,現在正在制作一個Calculation應用程序,您可以在其中將數字輸入一個文本字段,並獲取Mean,Median,Mode和Standard Deviation的結果。 我現在面臨的問題是“標准偏差”部分。 我使用以下代碼創建了一種方法,用於根據在應用程序中一個文本字段上輸入的數字來計算標准偏差:

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

但是我現在遇到的問題是,當我按應用程序中的“標准偏差”按鈕時,我不知道如何獲取在文本字段中輸入的數字並顯示標准偏差計算的結果。

這是應用程序的界面

以下是主要方法和標准偏差的代碼:

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

}

我一直在尋找這個問題的答案,所以如果有人可以幫助我解決這個問題,我將非常感激。

在標准偏差按鈕上使用鼠標單擊偵聽器,然后使用set方法將文本字段設置為所需答案的文本

這行代碼在這里:

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

實際上在您的文本字段上獲取每個空格分隔的數字。 但是,這些數據是字符串數據類型,因此您必須將它們一一解析為數值數據類型,例如雙精度或整數。 讓我在這里給您一個想法:

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

另一方面,如果您想在單擊按鈕后顯示實際的計算結果,請嘗試將事件偵聽器附加到按鈕上,並具有一種處理方法,該處理方法將根據您的計算結果來更新JTextField。

JTextFieldX.setText(resultGoesHere);

編輯:似乎您正在使用標簽顯示結果。 同樣的概念在這里適用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM