如何从键盘录入数据调用排序算法排序?
|--如何从键盘录入数据
|--如何用冒泡法排序
import java.util.ArrayList;
import java.util.Scanner;
// 定义键盘输入数据类
public class KeyboardInputData {
public static void main(String[] args) {
//提示从控制台输入数据,因为while(Scanner.hasNext())无法跳出循环,所以选用while(Scanner.hasNextInt()),遇到输入的数据不是int型时就跳出循环,所以最后以over结束。
System.out.print("请输入数字,并以空格隔开,输完之后以over结束:");
//定义扫描器,扫描从键盘录入的数据
Scanner scanner = new Scanner(System.in);
//定义arrayList 存放录入的数据。这里定义一个数组存放不方便,不知道数组多大,而且在while循环中数组的下标值无法自增,故无法利用循环把数据存入数组,而集合框架有这一功能。
ArrayList<Integer> arrayList = new ArrayList<Integer>();
//把扫描到的数据存入到arrayList.中
while(scanner.hasNextInt()){
arrayList.add(new Integer(scanner.nextInt()));
}
//查看输入的数据的个数
System.out.println("输入的数据个数为:"+arrayList.size());
//定义一个大小合适的数组存放输入的数据
int[] a=new int[arrayList.size()];
//打印数组以显示录入的数据
for (int i = 0; i < a.length; i++) {
a[i]=arrayList.get(i).intValue();
System.out.print(a[i]+" ");
}
System.out.println();
//调用冒泡排序算法排序录入的数据
bubbleSort(a);
//打印出排序后的录入数据
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+" ");
}
}
//定义冒泡排序方法
public static void bubbleSort(int[] arr){//小到大的冒泡排序
int temp = 0;
for(int i = 0;i<arr.length;i++){
for(int j = i;j<arr.length;j++){
if(arr[i]>arr[j]){
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
}