java编写冒泡算法,还有求数组平均值,然后用字符串的形式输出。
public class variable {
/**
* @param args
*/
public static void main(String[] args) {
int a[]={1,9,5,8,7,4,3};
int count=a.length;
String b= new String();
fun ling =new fun();
b =ling. avg(a);
//System.out.println("b = "+ b+"\n" );
//System.out.printf("avg1 =%5s\n", b);
System.out.println (b );
ling.bubble(a);
System.out.println("调用后冒泡排序:");
System.out.printf("[");
for (int k=0;k<count;k++)
{
System.out.printf(a[k]+" ");
}
System.out.printf("]");
}
}
class fun
{
public String avg(int a[])
{
int sum =0;
Double avge =0.0;
int i=0;
int count =a.length;
String avge1 =new String();
//System.out.printf("count =%d \n",count);
for( i=0;i<count;++i)
{
sum += a[i];
}
avge = sum / (count*1.0);
//System.out.printf("sum = "+ sum+"\n" );
System.out.printf("avg =%.3f\n", avge );
//avge1=avge.toString();
avge1=String.format("%.3f", avge);
//字符串输出格式,三位小数点
//avge1 = avge + "";
return avge1;
}
public void bubble (int a[])
{
int count =a.length;
int temp=0;
System.out.println("冒泡排序前:");
System.out.printf("[");
for (int k=0;k<count;k++)
{
System.out.printf(a[k]+" ");
}
System.out.printf("]");
System.out.printf("\n");
for(int i=0; i<count;i++)
for(int j=i+1;j<count;j++)
{
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
System.out.println("冒泡排序后:");
System.out.printf("[");
for (int k=0;k<count;k++)
{
System.out.printf(a[k]+" ");
}
System.out.printf("]");
System.out.printf("\n");
}
}