用户通过键盘输入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、键盘输入后排序结果如下