2017-10-14 76 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