a- import java.util.Arrays;
- import java.util.Scanner;
- /**
- * 数组常见操作: 数组遍历(依次输出数组中的每一个元素)
- * 数组获取最值(获取数组中的最大值最小值)
- * 数组查表法(根据键盘录入索引,查找对应星期)
- * 数组元素查找(查找指定元素第一次在数组中出现的索引)
- * 数组元素逆序 (就是把元素对调)
- */
- public class Test7 {
- public static void main(String[] args) {
- int[] arr = { 1, 4, 2, 43, 213, 3, 5 };
- printArr(arr);
- getMaxAndMin(arr);
- checkTable();
- int index = getFirstTime(arr);
- System.out.println("你查找的数第一次出现在:" + index);
- reverseArr(arr);
- }
- // 查找元素第一次出现时的索引,没有则返回 -1
- private static int getFirstTime(int[] arr) {
- int index = -1;
- System.out.println("请输入要查找的数字:");
- int num = new Scanner(System.in).nextInt();
- System.out.println(num);
- for (int i = 0; i < arr.length; i++) {
- if (num == arr[i]) {
- System.out.println(i);
- return i;
- }
- }
- return index;
- }
- // 查表法查星期
- private static void checkTable() {
- String[] day = { "", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期天" };
- System.out.println("请输入索引,范围1-7:");
- int num = new Scanner(System.in).nextInt();
- if (num <= 7 && num >= 1) {
- System.out.println("你输入的是" + day[num]);
- } else
- System.out.println("输入数字错误!!");
- }
- // 数组逆序
- private static void reverseArr(int[] arr) {
- int end = arr.length - 1;
- int start = 0;
- for (; start < end; start++, end--) {
- int temp = arr[start];
- arr[start] = arr[end];
- arr[end] = temp;
- }
- System.out.println("逆序后的数组:");
- printArr(arr);
- }
- // 获取最大最小值
- private static void getMaxAndMin(int[] arr) {
- // 将数组排序,然后获取最大最小值
- int max, min;
- // 复制一个数组,防止修改原数组的顺序
- int[] tempArr = Arrays.copyOfRange(arr, 0, arr.length);
- Arrays.sort(tempArr);
- min = tempArr[0];
- max = tempArr[tempArr.length - 1];
- System.out.println("min = " + min + ", max = " + max);
- printArr(arr);
- }
- // 数组遍历
- private static void printArr(int[] arr) {
- System.out.println("数组元素:");
- for (int i : arr) {
- System.out.print(i + " ");
- }
- System.out.println();
- }
- }
复制代码
|
|