1、输入10个整数存入数组,求最大值和最小值
package com.hz.array02;import java.util.Scanner;/*** 1、输入10个整数存入数组,求最大值和最小值* @author ztw**/
public class Practice01 {public static void main(String[] args) {int[] arr = new int[10];Scanner sc = new Scanner(System.in);//循环输入10个整数存入数组for(int i=0;i<arr.length;i++){System.out.println("输入"+(i+1)+"个整数:");arr[i]=sc.nextInt();}int max=arr[0],min=arr[0];//初始arr[0]为最大值,和最小值//遍历比较大小for(int j=0;j<arr.length;j++){if(max<arr[j]){max=arr[j];}if(min>arr[j]){min=arr[j];}}System.out.println("最大值:"+max+" 最小值:"+min);
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
4、输入10个整数存入数组,然后采冒泡排序后将其输出
package com.hz.array02;import java.util.Scanner;/*** 4、输入10个整数存入数组,然后采冒泡排序后将其输出* @author ztw**/
public class Practice04 {public static void main(String[] args) {int[] arr = new int[10];Scanner sc = new Scanner(System.in);//循环输入10个整数存入数组for(int i=0;i<arr.length;i++){System.out.println("输入"+(i+1)+"个整数:");arr[i]=sc.nextInt();}//定义外循环for(int j=0;j<arr.length;j++){//定义内循环for(int k=0;k<arr.length-j-1;k++){if(arr[k]>arr[k+1]){//比较相邻的元素/**用于交换两个元素*/int temp = arr[k];arr[k] = arr[k+1];arr[k+1] = temp;}}}System.out.println("冒泡排序后:");//循环遍历数组for(int i=0;i<arr.length;i++){System.out.print(arr[i]+" ");}System.out.print("\n");
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
5、已知数组 int[] a={1,2,3,5,6,7,8,9,0},int ren=4;将ren插入a中,但a必须有序
package com.hz.array02;/*** 5、已知数组* int[] a={1,2,3,5,6,7,8,9,0},int ren=4;* 将ren插入a中,但a必须有序* @author ztw**/
public class Practice05 {public static void main(String[] args) {int ren=4;int[] a={1,2,3,5,6,7,8,9,0,ren};insertSort(a);for(int i=0;i<a.length;i++){System.out.println(a[i]);}
}
//插入排序算法
public static int[] insertSort(int[] a){for(int i=1;i<a.length;i++){for(int j=i;j>0;j--){if(a[j]<a[j-1]){int temp=a[j-1];a[j-1] = a[j];a[j] = temp;}else break;}}return a;}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
6、已知数组 int[] a={10,20,30,40,50,60};使用交换反序使数组变成a={60,50,40,30,20,10}
package com.hz.array02;import java.util.Arrays;/*** 6、已知数组* int[] a={10,20,30,40,50,60};* 使用交换反序使数组变成a={60,50,40,30,20,10}* @author ztw**/
public class Practice06 {public static void main(String[] args) {shengxu();System.out.print("\n");jiangxu();
}
//升序
public static void shengxu(){int[] a={60,50,40,30,20,10};//利用Arrays带有的排序方法快速排序Arrays.sort(a);//进行排序for(int i:a){System.out.print(i+" ");}}
//降序
public static void jiangxu(){int[] a={10,20,30,40,50,60};//利用Arrays带有的排序方法快速排序Arrays.sort(a);//进行排序for(int i=a.length-1;i>=0;i--){System.out.print(a[i]+" ");}
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
11、定义一个长度为10的整型数组,循环输入10个整数。然后判断这个数组中有几个偶数,再定义一个正好能存放这几个偶数的数组,将上一个数组中的所有偶数复制过来。最后循环输出这些偶数。
package com.hz.array02;import java.util.Arrays;
import java.util.Scanner;/*** 11、定义一个长度为10的整型数组,循环输入10个整数。* 然后判断这个数组中有几个偶数,再定义一个正好能存放这几个偶数的数组,* 将上一个数组中的所有偶数复制过来。最后循环输出这些偶数。* @author ztw**/
public class Practice11 {public static void main(String[] args) {int[] arr = new int[10];int[] arr2 = new int[10];Scanner sc = new Scanner(System.in);//循环输入10个整数存入数组for(int i=0;i<arr.length;i++){System.out.println("输入"+(i+1)+"个整数:");arr[i]=sc.nextInt();//判断输入的数是否为偶数if(arr[i]%2==0){arr2[i]=arr[i];}}//升序排序遍历数组arr2Arrays.sort(arr2);for(int i:arr2){if(i!=0){System.out.print(i+" ");}}//遍历数组arr2
// for(int k=0;k<arr2.length;k++){
// System.out.print(arr2[k]+" ");
// }
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
12、输入一个数组,使用选择排序输出
package com.hz.array02;import java.util.Scanner;/*** 12、输入一个数组,使用选择排序输出* @author ztw**/
public class Practice12 {public static void main(String[] args) {int[] arr = new int[10];Scanner sc = new Scanner(System.in);//循环输入10个整数存入数组for(int i=0;i<arr.length;i++){System.out.println("输入"+(i+1)+"个整数:");arr[i]=sc.nextInt();}selectSort(arr);System.out.println("选择排序后:");//循环遍历数组for(int i=0;i<arr.length;i++){System.out.print(arr[i]+" ");}System.out.print("\n");
}
//选择排序算法
public static int[] selectSort(int[] arr){for(int i=0;i<arr.length-1;i++){int min=i;for(int j=i+1;j<arr.length;j++){if(arr[min]>arr[j]){min=j;}}if(min!=i){int temp = arr[i];arr[i] = arr[min];arr[min] = temp;}}return arr;}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
13、输入一个数组,使用冒泡排序输出
package com.hz.array02;import java.util.Scanner;/*** 13、输入一个数组,使用冒泡排序输出* @author ztw**/
public class Practice13 {public static void main(String[] args) {int[] arr = new int[10];Scanner sc = new Scanner(System.in);//循环输入10个整数存入数组for(int i=0;i<arr.length;i++){System.out.println("输入"+(i+1)+"个整数:");arr[i]=sc.nextInt();}bubbleSort(arr);System.out.println("冒泡排序后:");//循环遍历数组for(int i=0;i<arr.length;i++){System.out.print(arr[i]+" ");}System.out.print("\n");
}
//冒泡排序算法
public static int[] bubbleSort(int[] arr){//定义外循环for(int i=0;i<arr.length;i++){//定义内循环for(int j=0;j<arr.length-i-1;j++){if(arr[j]>arr[j+1]){int temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}}return arr;}
}