Java数组标准差和中值
需要将中值和标准差添加到以下程序中,但我不知道从何处开始,我知道我希望它做什么,但不确定如何实现,特别是因为中值必须位于已排序的数字之后,但如果我将其作为void Median()放入,我将丢失已排序的数组。请帮忙!非常感谢您的帮助:
import java.util.Scanner;
import javax.swing.*;
public class JScannerO
{
public JScannerO(){}
public JScannerO(int A)
{
HowMuch = A;
}
void GenerateNumbers()
{
int k,Hide;
k = 0;
while ( k < HowMuch )
{
Hide = (int) (Math.random() * 100);
if ( Hide > 9 && Hide < 100 )
{
Hanson[k] = Hide;
k++;
}
}
}
void DisplayNumbers()
{
int k;
for ( k = 0; k < HowMuch; k++)
{
System.out.println("\t\tThe numbers are : " + Hanson[k]);
}
}
void BiggestNumber()
{
int k,Biggest;
Biggest = Hanson[0];
for ( k = 0; k < HowMuch; k++)
{
if ( Biggest < Hanson[k] ) Biggest = Hanson[k];
}
System.out.println("\n\n\t\tThe biggest number is : " + Biggest);
}
void SmallestNumber()
{
int k,Smallest;
Smallest = Hanson[0];
for ( k = 0; k < HowMuch; k++)
{
if ( Smallest > Hanson[k] ) Smallest = Hanson[k];
}
System.out.println("\n\n\t\tThe Smallest number is : " + Smallest);
}
void Average()
{
int k,Sum;
double Average;
Sum = 0;
for ( k = 0; k < HowMuch; k++)
{
Sum = Sum + Hanson[k];
}
Average = 1.0 * Sum / HowMuch;
System.out.format("\n\n\t\tThe Average number is : %7.2f",Average);
}
void Sort()
{
int k,Hide;
boolean DidISwap;
DidISwap = true;
while (DidISwap)
{
DidISwap = false;
for ( k = 0; k < HowMuch - 1; k++)
{
if ( Hanson[k] > Hanson[k+1] )
{
Hide = Hanson[k ];
Hanson[k] = Hanson[k+1];
Hanson[k+1] = Hide ;
DidISwap = true;
}
}
}
System.out.println("\n\n\n\t\tThe Sorted Numbers : \n");
}
private int HowMuch;
private int[] Hanson = new int[100];
}
这是使用调用程序运行的
# 1 楼答案
我不明白你的问题
你有一个排序算法为你做这项工作
你就不能写一封信吗
?
这将花费O(N)而不是O(1),但它不容易出错,并且可以执行您需要执行的操作——尤其是因为您的“Hanson”阵列的大小只有100,所以我们现在不必在意
最后一句话:函数名总是小写的,即它是sort()而不是sort(),它是calculateMething()而不是Calculate_Something()或任何其他变量
这条规则没有例外,这将使代码(更)可读。考虑在Eclipse中安装检查样式(http://eclipse-cs.sourceforge.net/)为了让你在写作时有一个互动的风格指南:-)