问: 100 一个java语言写的冒泡排序的代码,在线等,急!一个JAVA冒泡排序的程序,类似于下图,可以选择从大到小或者从小到大排序,程序开始的时候是选择界面,分别是从大到小排序和从小到大排序,选择1或者2之后往下运行,如果没有选择1或者2而是随便填了选项的话就弹出选择错误请重新输入,然后自动再次返回选择界面,选择正确之后提示请输入一组数组,数组之间请用空格格开,如果输入错误的话弹出输入错误请重新输入,然后自动再次返回输入界面,输入数组之后进行从大到小排序(第一次选择的是1,如果第一次选择的是2的话就进行从小到大排序),最后输出排序结果,然后自动返回程序开始的第一步。 在线等,急!! 最好程序是文本可以直接复制的,如果用文本不方便发图也行,十分感谢!
import java.util.Scanner;
public class SortDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int choose;
while (true) {
System.out.println("请输入排序的规则:1从大到小;2从小到大");
System.out.print("请输入你的选择");
try {
choose = Integer.parseInt(sc.nextLine());
} catch (Exception e) {
System.out.println("选择错误!请重新输入");
continue;
}
if (choose == 1 || choose == 2) {
int[] ary;
while (true) {
System.out.println("请输入一组数组,数组之间请用空格格开");
try {
String[] ss = sc.nextLine().split("\\s+");
ary = new int[ss.length];
for (int i = 0; i < ss.length; i++) {
ary[i] = Integer.parseInt(ss[i]);
}
if (choose == 1) {
sortH2L(ary);
} else {
sortL2H(ary);
}
System.out.print("排序完成:");
for (int i = 0; i < ary.length; i++) {
System.out.print(ary[i] + " ");
}
System.out.println();
break;
} catch (Exception e) {
System.out.println("输入错误请重新输入");
continue;
}
}
} else {
System.out.println("选择错误!请重新输入");
continue;
}
}
}
public static void sortL2H(int[] ary) {
for (int i = 0; i < ary.length - 1; i++) {
for (int j = i + 1; j < ary.length; j++) {
int temp;
if (ary[i] > ary[j]) {
temp = ary[j];
ary[j] = ary[i];
ary[i] = temp;
}
}
}
}
public static void sortH2L(int[] ary) {
for (int i = 0; i < ary.length - 1; i++) {
for (int j = i + 1; j < ary.length; j++) {
int temp;
if (ary[i] < ary[j]) {
temp = ary[j];
ary[j] = ary[i];
ary[i] = temp;
}
}
}
}
}
追问能帮我解释一下每行是什么意思嘛 注释就好 谢啦