案例

1.案例1:减肥计划

需求:输入星期数,显示今天的减肥活动

​ 周一:跑步

​ 周二:游泳

​ 周三:慢走

​ 周四:动感单车

​ 周五:拳击

​ 周六:爬山

​ 周日:好好吃一顿

package com.szy001;
import java.util.Scanner;//导包
public class WeightPlan {
    public static void main(String[] args) {
        //创建对象
        Scanner sc=new Scanner(System.in);
        //接收数据
        while(true){
        System.out.println("请输入星期数");
        int week=sc.nextInt();
        if(week>=1&&week<=7) {
            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;
                }
            }
            break;
        }else {
            System.out.println("输入错误,无此星期数!");
        }
        }
    }
}

2.案例2:逢七过

需求:朋友聚会的时候可能会玩一个游戏:逢七过。规则是:从任意一个数字开始报数,当你报的数字包含7或者是7的倍数时都要说:过。为了帮助大家更好的玩这个游戏,这里我们直接在控制台打印输出1-100之间的满足逢七过规则的数据。这样,大家将来在玩这个游戏的时候,就知道那些数据要说:过。

package com.szy001;

public class MeetSevenPass {
    public static void main(String[] args) {
        for(int i=1;i<=100;i++){
            if(i%7==0||i%10==7||i/10==7){
                System.out.println(i);
            }

        }
    }
}

3.案例3:不死神兔

需求:有一对兔子,从出生后第三个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,加入兔子都不死,问第二十个月兔子对数为多少?

提示:找规律……

package com.szy001;

public class Rabbit {
    public static void main(String[] args){
        int[] arr=new int[20];
        for(int i=0;i<20;i++){
            if(i==0||i==1){
                arr[i]=1;
            }else{
                arr[i]=arr[i-1]+arr[i-2];
            }

        }
        System.out.println("第二十月兔子总数是:"+arr[19]);
    }
}

4.案例4:百钱百鸡

需求:我国古代数学家张邱建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?

package com.szy001;

public class Chicken {
    public static void main(String[] args) {
        for(int a=0;a<=20;a++){//鸡翁
            for (int b=0;b<=33;b++){//鸡母
                for(int c=0;c<=100;c++){//鸡雏
                    if(a+b+c==100){
                        if(a*5+b*3+c/3==100&&c%3==0){
                            System.out.println("鸡翁:"+a+",鸡母:"+b+",鸡雏:"+c);
                        }
                    }
                }
            }

        }
    }
}

5.案例5:数组求和

需求:有这样一个数组,元素是{68,27,95,88,171,996,51,210}。求出该数组中满足要求的元素和,要求是:求和的元素个位和十位都不能是7,并且只能是偶数。

package com.szy001;

public class ArraySum {
    public static void main(String[] args) {
        int sum=0;
        int[] arr={68,27,95,88,171,996,51,210};
        for(int i=0;i<arr.length;i++){
            if(arr[i]%2==0){
                if(arr[i]%10!=7&&arr[i]/10%10!=7){
                    sum=sum+arr[i];
                }
            }
        }
        System.out.println("元素和为:"+sum);
    }
}

6.案例6:数组内容相同

需求:设计一个方法,用于比较两个数组的内容是否相同

package com.szy001;

public class ArrayCompare {
    public static void main(String[] args) {
        int[] arr1={1,2,4,5,7,9};
        int[] arr2={1,2,4,5,7,9};
        boolean result=Compare(arr1,arr2);
            System.out.println(result);
    }
    public static boolean Compare(int[] a,int[] b){
        if(a.length!=b.length){
            return false;
        }
        else{
            for(int i=0;i<a.length;i++){
                if(a[i]!=b[i]){
                    return false;
                }
            }

        }
    return true;
    }

}

7.案例7:查找

需求:已知一个数组arr={19,28,37,46,50};键盘录入一个数据,查找该数据在数组中的索引,并在控制台输出找到的索引值。

package com.szy001;
import java.util.Scanner;
public class FindValue {
    public static void main(String[] args) {
        //创建对象
        Scanner sc=new Scanner(System.in);
        int[] arr={19,28,37,46,50};
        int number=sc.nextInt() ;
        int i=findValue(number,arr);
        if(i==-1){
            System.out.println("无此数据!");
        }else{
            System.out.println("序号是:"+i);
        }
    }
    public static int findValue(int a,int[] arr) {
        for (int i=0; i < arr.length; i++){
            if(a==arr[i]){
                return i;
            }

        }
        return -1;
    }
}

8.案例8:反转

需求:已知一个数组arr={19,28,37,46,50};用程序实现把数组中的元素值交换,交换后的数组arr={50,46,37,28,19};并在控制台输出交换后的数组元素。

package com.szy001;

public class Reversal {
    public static void main(String[] args) {
        int[] arr={19,28,37,46,50};
        for(int i=0;i<(arr.length+1)/2;i++){
            int temp=arr[i];
            arr[i]=arr[arr.length-1-i];
            arr[arr.length-1-i]=temp;
        }
        System.out.println("反转数组如下:");
        for(int j=0;j<arr.length;j++) {
            if(j==0){
                System.out.print("[" + arr[j] + ",");
            }
            else if(j==arr.length-1) {
                System.out.println(arr[j] + "]");
            }else{
                System.out.print(arr[j]+",");
            }
        }
    }
}

9.案例9:评委打分

需求:在编程竞赛中,有6个评委为参赛选手打分,分数为0-100的整数分。

选手的最后得分为:去掉一个最高分和一个最低分后的4个评委平均值(不考虑小数部分)。

package com.szy001;
import java.util.Scanner;
public class Score {
    public static void main(String[] args) {
        int max;//最大值
        int min;//最小值
        int total=0;//输入数的总值
        //创建数据
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入6个分数:");
        int[] arr=new int[6];
        for(int i=0;i<arr.length;i++){
            arr[i]=sc.nextInt();//输入数据
            total+=arr[i];//求总值
        }
        min=arr[0];
        max=arr[0];
        for(int j=0;j<arr.length;j++){
            if(min>arr[j]){
                min=arr[j];//求最小值
            }
            if(max<arr[j]){
                max=arr[j];//求最大值
            }
        }
        int average=(total-max-min)/4;
        System.out.println("平均数为:"+average);

    }
}
posted @ 2022-03-30 17:23  行雨  阅读(69)  评论(0编辑  收藏  举报