Test类
/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称: 设计一个Java程序,设有一个给定的int类型数组并有一批数据,现让你用二种以上的方法对其进行升或降序排列。
* 作 者: 雷恒鑫
* 完成日期: 2012 年 11 月 16 日
* 版 本 号: V1.0
* 对任务及求解方法的描述部分
* 输入描述:设计一个Java程序,设有一个给定的int类型数组并有一批数据,现让你用二种以上的方法对其进行升或降序排列。
* 问题描述:
* 程序输出:
* 程序头部的注释结束
*/
package Task_two;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a = {1,5,4,7,3,9,31,99,22,100};
Array array = new Array(a);
array.up_count();
array.down_count();
}
}
Array类
package Task_two;
//设计一个Java程序,设有一个给定的int类型数组并有一批数据,现让你用二种以上的方法对其进行升或降序排列。
public class Array {
int[] a;
public Array(int[] b) {
int i = 0;
a = new int[b.length];
for (int c : b) {
a[i] = c;
i++;
}
}
public void up_count() {// 冒泡排序法,从大到小排列
int max;
for (int i = 0; i < a.length; ++i) {
for (int j = 0; j < a.length - i - 1; ++j) {
if (a[j] < a[j + 1]) {
max = a[j];
a[j] = a[j + 1];
a[j + 1] = max;
}
}
}
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+" ");
}
}
public void down_count() {// 朴素排序法,从小到大排列
System.out.println();
int min;
for (int i = 0; i < a.length; i++) {
for (int j = i+1; j < a.length; ++j) {
if (a[i] > a[j]) {
min = a[i];
a[i] = a[j];
a[j] = min;
}
}
}
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+" ");
}
}
}
运行结果: