Java基础之数组冒泡排序(包含数组合并、排序)
实验内容
1、从键盘上连续输入10个数,保存在一个数组中,求这些数中的最大数,最小数,平均数,然后进行排序,并且打印出所有结果 2、一个数组a[4]里面有数据{1,2,3,4},另外一个数组b[3]里面有数据{5,6,7},将2个数组合并成一个数组c[7],并且打印出所有值 3、申明一个Dog的类,包括成员变量姓名和年龄,构造函数,在主类中实例化一个Dog的数组有3只狗,(xiaobai,1)(xiaohei,2)(xiaohua,2),配合for循环打印3只小狗的名字和年龄
实验过程
第1题
程序源代码
import java.util.Scanner; public class Demo6_4 { public static void bubbleSort(int[] arr) { int temp; for (int i = 0;i<arr.length-1;i++) { for(int j = 0;j<arr.length-i-1;j++) { if(arr[j+1]<arr[j]) { temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } } public static void main(String[] args){ double avg; int sum = 0; int [] arr = new int[10]; Scanner sc = new Scanner(System.in); System.out.println("请输入10个数"); for (int i = 0;i<arr.length;i++) { arr[i] = sc.nextInt(); sum = sum+arr[i]; } avg = sum/arr.length; int max = arr[0]; int min = arr[0]; for(int i = 1;i<arr.length;i++) { if(max<arr[i]) { max = arr[i]; }else if(min>arr[i]){ min = arr[i]; } } System.out.println("最大值"+max); System.out.println("最小值"+min); System.out.println("平均数"+avg); bubbleSort(arr); for (int i = 0;i<arr.length;i++) { System.out.print(+arr[i]+" "); } } }
第2题
程序源代码
public class ZuoeYe2 { public static void main(String[] args) { // TODO Auto-generated method stub int [] a= { 1,2,3,4}; int [] b= { 5,6,7}; int [] c = new int [a.length+b.length]; //循环添加数组内容 for (int i = 0;i<c.length;i++) { if(i<a.length) { c[i] = a[i]; }else { c[i] = b[i-a.length]; } } System.out.println("合并后"); for(int i = 0;i<c.length;i++) { System.out.println(c[i]); } } }
第3题
程序源代码
class Dog{ String name; int age; public Dog(String name, int age) { super(); this.name = name; this.age = age; } @Override public String toString() { return "Dog [name=" + name + ", age=" + age + "]"; } } public class ZuoYe3 { public static void main(String[] args) { Dog[] Dogs = new Dog[3]; Dog d1 = new Dog("xiaobai",1); Dog d2 = new Dog("xiaohei",2); Dog d3 = new Dog("xiaohua",1); Dogs[0] = d1; Dogs[1] = d2; Dogs[2] = d3; for(int i = 0;i<Dogs.length;i++) { System.out.println(Dogs[i]); } } }
下一篇:
算法修炼29、最小的K个数