Java语言求一组数的中位数_java – 如何计算数组的中位数?

这篇博客探讨了如何在Java程序中计算一组数字数组的中位数。作者在Applet中实现了用户输入数字并计算总数、平均值和中位数的功能。目前遇到的问题在于计算中位数时未对数组进行排序,因此代码中的`median = numArray[numArray.length/2];`可能无法正确获取中位数。解决方案是先对数组进行排序,然后根据数组长度的奇偶性确定中位数的位置。
摘要由CSDN通过智能技术生成

我正在计算由文本字段接收的输入填充的数组的总数,平均值和中位数。我已经设法计算出总计和平均值,我只是不能让中位数工作。我认为数组需要排序才能做到这一点,但我不知道如何做到这一点。这是问题,还是还有另外一个我没有找到的?这是我的代码:

import java.applet.Applet;

import java.awt.Graphics;

import java.awt.*;

import java.awt.event.*;

public class whileloopq extends Applet implements ActionListener

{

Label label;

TextField input;

int num;

int index;

int[] numArray = new int[20];

int sum;

int total;

double avg;

int median;

public void init ()

{

label = new Label("Enter numbers");

input = new TextField(5);

add(label);

add(input);

input.addActionListener(this);

index = 0;

}

public void actionPerformed (ActionEvent ev)

{

int num = Integer.parseInt(input.getText());

numArray[index] = num;

index++;

if (index == 20)

input.setEnabled(false);

input.setText("");

sum = 0;

for (int i = 0; i < numArray.length; i++)

{

sum += numArray[i];

}

total = sum;

avg = total / index;

median = numArray[numArray.length/2];

repaint();

}

public void paint (Graphics graf)

{

graf.drawString("Total = " + Integer.toString(total), 25, 85);

graf.drawString("Average = " + Double.toString(avg), 25, 100);

graf.drawString("Median = " + Integer.toString(median), 25, 115);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值