用户通过键盘输入10个数,并从小到大排列后输出
1、定义一个数组,其内存包含10个元素 数组定义格式: ①动态定义int[ ] arr =new int[ a ],其中a可自己设定数组大小。 ②静态定义 int[ ] arr={ 1,2,3,4 },花括号内可以自行输入数字 此问题定义10个内存大小数组int[] arr=new int[10]; 2、定义Scanner函数 首先导入输入包import java.util.Scanner;后定义输入Scanner sc=new Scanner(System.in);可利用for循环依次输入10个数,如下。 for (int i = 0; i <arr.length; i++) { System.out.println(“请输入第”+(i+1)+“个数”); arr[i]=sc.nextInt();// } 3、利用for循环对数组进行遍历排序,首先定义一个变量,这个变量用来存储数组比较时最大的数。 4、冒泡排序原理:数组的前两个数比较后,如果第一个数大于第二个,就把这个数存储到上一步定义变量中,再把第二个数赋值给第一个数,再取出变量中的数赋值给第二个数,就是实现前两个数的调换,如下: if (arr[j]>arr[j+1]) { shu=arr[j]; arr[j]=arr[j+1]; } 5、比较次数: 第一次比较,n个数比较n-1次,因此外层循环比数组长度少1, for (int i = 0; i <arr.length-1 ; i++) 第二次比较比上次少1,因此需要多次比较直到最后两个数,内层循环为, for (int j = 0; j <arr.length-1-i; j++) 6、代码如下: 7、键盘输入后排序结果如下
|