2016-05-30 5 views
0

NetBeans上に一連の値の平均を計算するGUIを構築しようとしています。現在は整数値で動作しますが、テキストフィールドに10進数値を入力しようとすると、配列の次の値に移動する前に小数点の前の部分だけが読み取られます(例えば、1.4, 2.5, 3.6を入力すると1, 2, 32.5の代わりに2と計算します)GUIテキストフィールドでdouble/float値を読み取る

コンピュータに値全体を登録させる方法を教えてください。

private void getMeanButtonActionPerformed(java.awt.event.ActionEvent evt) {        

    String[] stringValues = valuesTextField.getText().split(","); 
    double[] values = new double[stringValues.length]; 


    for(int i = 0; i < stringValues.length; i++) 
    { 
     values[i] = Double.parseDouble(stringValues[i]); 
    } 

    int sum = 0; 
for (int i = 0; i < values.length; i++) 
{ 
     sum += values[i]; 
} 

    double mean = 0; 
    mean = (double)sum/(double)values.length; 

    JOptionPane.showMessageDialog(null, mean); 
} 

ちなみに、私はstringValues配列をチェックしましたが、すべてが良いです。値全体が登録されています。解析中に何かが間違っているようです。

+0

を倍増していないされて「それは1、2、3として、それを読み込む」:いいえ、それはない、とあなたはどんな証拠を提供していません反対の。 – EJP

+0

私のプログラミングに慣れていないと悪いですが、それは問題だと推測しました – cerale

答えて

3

問題は、あなたがintとしてあなたの合計を定義し、

... 
double sum; 
for (int i = 0; i < values.length; i++) 
{ 
    sum += values[i]; 
} 
+0

これはコメントでなければなりません。回答はありません – piyushj

+2

@piyushjaiswalこれは答えですがコメントではありません。 – EJP

+0

それは働いた!どうもありがとうございます! – cerale

関連する問題