本帖最后由 dxw 于 2016-3-29 23:24 编辑
import java.util.Scanner;
class ArrayPaixu {
// 主函数。
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); // 创建键盘录入对象。
int arr1[] = new int[10]; // 创建一个一维数组。
for (int x = 0; x < arr1.length; x++) { // 用for循环接收输入的数值。
System.out.print("尊敬的主人!\n\t您好!请输入第" + (x + 1) + "个数值:");
arr1[x] = sc.nextInt();
}
int[] result1 = xiaoDaPaixu(arr1); // 调用从小到大排序的构造方法。
System.out.println("从小到大的排序为:");
print(result1);
int[] result2 = daXiaoPaixu(arr1); // 调用从大到小排序的构造方法。
System.out.println("从大到小的排序为:");
print(result2);
}
public static int[] daXiaoPaixu(int[] arr) { // 从大到小排序的方法。
// 用for嵌套循环遍历数组,并按从小到大的方式对数组进行排序。外循环比较大小,内循环排序。
for (int x = 0; x < arr.length-1; x++) {
for (int y = x+1; y < arr.length; y++) {
if (arr[x] > arr[y]) {
int temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
}
}
// 返回值不能为数组吗?
return arr;
}
public static int[] xiaoDaPaixu(int[] arr) { // 从小到大排序的构造方法。
// 用for嵌套循环遍历数组,并按从大到小的方式对数组进行排序。外循环比较大小,内循环排序。
for (int x = 0; x < arr.length-1; x++) {
for (int y = x+1; y < arr.length; y++) {
if (arr[x] < arr[y]) {
int temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
}
}
return arr;
}
public static void print(int arr[]) {
System.out.print("[");
for (int z = 0; z < arr.length; z++) {
System.out.print(arr[z]);
if (z < arr.length - 1)
System.out.print(",");
else
System.out.println("]");
}
}
} |