首先,我知道如何找到平均的權利。所以現在我的程序描述是 - 我使用方法名稱nextGaussian來獲得正態分佈的數字,這種方法工作正常。我還使用CONSOLE屏幕檢查正態分佈的數字曲線。當我試圖找到平均值(平均)值後,它給我的錯誤,如何找到無極分佈數的平均值?
1.對於例如,假設我們有五個號碼(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());
}
}
感謝....
Thankew ...它現在正常工作... – CRazyProgrammer 2013-04-27 06:12:41
@CRazyProgrammer:不,它不。它不能解決我在答案中指出(並修復)的第二個錯誤。 – NPE 2013-04-27 06:19:11
哪一個「正態分佈數值」 – CRazyProgrammer 2013-04-27 06:20:24