java学习笔记05-简单应用

java学习笔记05

前面学习内容通过案例简单回顾

import java.util.Scanner;

public class BasePractice {
    public static void main(String[] args) {
        Scanner genWeek = new Scanner(System.in);
        System.out.println("请输入一个星期数: ");
        int week = genWeek.nextInt();
        doSomethingByWeek(week);

        // 100以内逢7过的数, 包含7或者是7的倍数
        meet7Pass();

        /*
        有一对兔子,从出生后第三个月起每个月生一对兔子,小兔子长到
        第三个月后每个月又生一对兔子,假如兔子都不死,问第二十个月的兔子对数为多少?
        观察发现符合斐波那契数列特征
         */
        int rabbits = getRabbitNum(20);
        System.out.println(rabbits);

        /*
        鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一,问百钱买百鸡,三种鸡各几何?
         */
        buyChicken();

        // 数组元素求和,求和的元素各位和十位都不能是7,并且只能是偶数
        int[] arr = {68, 27, 95, 88, 171, 996, 51, 210};
        int sum = arrSum(arr);
        System.out.println(sum);

        // 比较两个数组是否相同
        int[] arr01 = {1, 2, 3, 4, 5};
        int[] arr02 = {1, 2, 3, 4, 5};
        System.out.println(compareArray(arr01, arr02));


        // 数组反转
        int[] arr03 = {11, 22, 33, 44, 55, 66};
        int[] arr04 = reverseArray(arr03);
        for (int i=0; i<arr03.length; i++) {
            System.out.print(arr04[i] + ",");
        }
    }

    public static void doSomethingByWeek (int week) {

        switch (week) {
            case 1:
                System.out.println("周一的事");
                break;
            case 2 :
                System.out.println("周二的事");
                break;
            case 3:
                System.out.println("周三的事");
                break;
            case 4:
                System.out.println("周四的事");
                break;
            case 5:
                System.out.println("周五的事");
                break;
            case 6:
                System.out.println("周六的事");
                break;
            case 7:
                System.out.println("周日的事");
                break;
            default :
                System.out.println("only input 1-7");
        }
    }

    public static void meet7Pass () {
        for (int i=1; i<100; i++) {
            if ( i % 7 == 0 || i /10 % 10 == 7 || i % 10 == 7) {
                System.out.println("数字" + i + "过");
            }
        }
    }

    public static int getRabbitNum(int m) {
        if (m<1) {
            return -1;
        }
        if (m<3) {
            return 1;
        }
        int[] arr = new int[m];
        arr[0] = 1;
        arr[1] = 1;
        for (int i=2; i<m; i++) {
            arr[i] = arr[i-2] + arr[i-1];
        }
        return arr[m-1];
    }

    public static void buyChicken() {
        for (int x=0; x<=20; x++) {
            for (int y=0; y<=33; y++) {
                int z = 100 - x - y;
                if (z % 3 != 0) {
                    continue;
                }
                int sum = 5*x + 3*y + z/3;
                if (sum == 100) {
                    System.out.println("鸡翁:" + x + "只");
                    System.out.println("鸡母:" + y + "只");
                    System.out.println("鸡雏:" + z + "只");
                }
            }

        }
    }

    public static int arrSum(int[] arr) {
        int ret = 0;
        for (int i=0; i<arr.length; i++) {
            if (arr[i]%2 == 0 && arr[i]%10 != 7 && arr[i]/10%10 !=7) {
                ret += arr[i];
            }
        }
        return ret;
    }

    public static boolean compareArray(int[] arr01, int[] arr02) {
        if (arr01.length != arr02.length) {
            return false;
        }
        for (int i=0; i<arr01.length; i++) {
            if (arr01[i] != arr02[i]) {
                return false;
            }
        }
        return true;
    }

    public static int[] reverseArray(int[] arr) {
        int ln = arr.length;
        for (int i=0; i<ln/2; i++) {
            int a = arr[i];
            arr[i] = arr[ln-1-i];
            arr[ln-1-i] = a;
        }
        return arr;
    }
}

posted @ 2022-09-08 21:04  村口王铁匠  阅读(22)  评论(0)    收藏  举报