まず第一に、私は正しい平均を見つける方法を知っています。だから今、私のプログラムの説明は次のとおりです-メソッド名nextGaussianを使用して正規分布数を取得しています。このメソッドは正常に機能しています。また、CONSOLE SCREENを使用して、正規分布数曲線を確認しました。平均(平均)値を見つけようとすると、エラーが発生します。
1.たとえば、5 つの数字 (30,50,60,70,80) があるとします。
- まず最初に、それらの合計を見つけて 5 で割る必要がありますが、私のプログラムでは、最後の数を取り、この数を 5 で割ります。つまり、80 を取り、この数を 5 で割ります。
2.追加情報が必要な場合は、コメントを残してください。私はそれを行います...
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.text.NumberFormat;
import java.util.Arrays;
import java.util.Random;;
public class NormalNumberProblem extends JFrame
{
static JTextField a = new JTextField();
static JButton x = new JButton();
public static void main(String args[])
{
// construct frame
new NormalNumberProblem().show();
}
public NormalNumberProblem()
{
// frame constructor
setTitle("NormalNumberProblem");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().setLayout(new GridBagLayout());
GridBagConstraints gridConstraints = new GridBagConstraints();
a.setText("");
a.setColumns(15);
gridConstraints.gridx = 0;
gridConstraints.gridy = 1;
getContentPane().add(a, gridConstraints);
x.setText("Random Numbers");
gridConstraints.gridx =0;
gridConstraints.gridy =3;
getContentPane().add(x, gridConstraints);
x.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
Random r = new Random();
double[] list = new double[15];
double mean = 10, std = 50;
for(int i = 0; i<list.length; i++)
{
double sum = 0;;
list[i] = r.nextGaussian() * 10 + 50;
sum += sum + list[i];
System.out.println(sum);
double average = sum / list.length;
a.setText(" The mean is " + NumberFormat.getNumberInstance().format(average));
}
}
});
pack();
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setBounds((int) (0.5 * (screenSize.width - getWidth())), (int) (0.5 * (screenSize.height - getHeight())), getWidth(), getHeight());
}
}
ありがとう....