1.感觉自己定义了太多参数希望能得到大佬的一些指点怎么能优化自己的代码 2.并没有显示每一趟冒泡的结果 3.个人思路: (1)定义Scanner接受数据 (2)构建循环体让数组里面的数据之间进行相互比较
public class MP { public static void main(String[] args){ System.out.print("请输入你想要进行排序的数字的个数:"); Scanner scan = new Scanner(System.in); int i = scan.nextInt(); //定义arr[]数组接受从键盘传来的数据 int [] arr = new int[i]; //构建循环体让用户输入想要排序的数据 for (int j = 1; j <=i ; j++) { System.out.print("请输入你要输入的第"+j+"个数:"); arr[j-1] = scan.nextInt(); } //构建循环体让两个数字之间相互比较 for(int k=arr.length-1;k>0;k--){ for(int s=k-1;s>=0;s--){ if(arr[k]<arr[s]){ int temp = arr[s]; arr[s] = arr[k]; arr[k] = temp; } } } System.out.println("经过冒泡排序后的顺序为:"); //循环输出arr[]数组里面的数据 for (int l = 0; l <i ; l++) { System.out.print(arr[l]+"\t"); } } }
运行结果: