Java基础_88.基础知识案例演练(p88-p98)

减肥计划if 版:

需求和思路分析: 

代码演练: 

 

下面测试数据.

先来一个正确的数据.

再来一个边界数据.

 

 最后来一个错误的数据.

 

package com.itheima;

import java.util.Scanner;

public class Test01 {
    public static void main(String[] args) {
        // 键盘录入一个星期数, 并用一个变量sc 来接收
        Scanner sc = new Scanner(System.in);

        System.out.println("请输入一个星期数:");

        int week = sc.nextInt();

        // 对星期数进行判断, 使用if 语句实现
        if (week < 1 || week > 7){
            System.out.println("您输入的星期数有误");
        }else if (week == 1){
            System.out.println("跑步");
        }else if (week == 2){
            System.out.println("游泳");
        }else if (week == 3) {
            System.out.println("慢走");
        }else if (week == 4) {
            System.out.println("动感单车");
        }else if (week == 5) {
            System.out.println("拳击");
        }else if (week == 6) {
            System.out.println("爬山");
        }else {
            System.out.println("好好吃一顿");
        }
    }
}

 

减肥计划:switch版

需求和思路分析:

 

 代码演练:

写完之后, Ctrl + L , 格式一下代码.

 

 测试数据.

先来一个正确数据.

再来一个边界数据.

 

最后来一个错误数据.

 

 

package com.itheima;

import java.util.Scanner;

public class Test02 {
    public static void main(String[] args) {
        // 键盘录入一个星期数, 用一个变量来接收
        Scanner sc = new Scanner(System.in);

        System.out.println("请输入一个星期数:");
        int week = sc.nextInt();

        // 对星期数进行判断, 使用switch 语句来完成
        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:8
                System.out.println("好好吃一顿");
                break;
            default:
                System.out.println("您输入的星期数有误.");
        }
    }
}

三种导包的方式:

 第一种方式:手动导包 

 第二种方式: 快捷键导包

 

现在把导包动作import java.util.Scanner 删了.

下面就会报错.

现在把鼠标放到Scanner 上双击一下.有一个Alt + 回车 可以完成导包动作.

 按了Alt + 回车之后, 不变色了.

包也导入了(第4行).

 

 第三种导包方式: 自动导包.

先把导包动作删了.

 再把 Scanner sc = new Scanner(System.in) 也删了.

 现在写Scanner 的时候, 有提示信息, 提示信息后面的(java.util)跟的就是Scanner 所在的包.

 

 现在按下回车, 就完成了自动导包.

然后把第29行代码补齐.

 

 

案例: 逢7过

需求和思路分析:

 

代码演练:

 

 

 

package com.itheima;

public class Test03{
    public static void main(String[] args) {
        // 使用for 循环实现数据的获取
        for (int x = 1; x <= 100;x++){
            if(x%7==7 || x/10%10==7 || x%7==0){
                // 在控制台输出满足要求的数据
                System.out.println(x);
            }
        }
    }
}

 

案例: 不死神兔

需求和分析:

 

代码演练 :

 

 int x = 2, 因为0和1的值都知道了, 所以从2开始.

从2 开始, 

arr[2] = arr[0] + arr[1], 可以改写为arr[2] = arr[2-2] + arr[2-1].

对应到int x = 2, 就是arr[x] = arr[x-2] + arr[x-1].

数组长度为20, 最大索引应该为19.

使用 "数组的最大索引" < 数组的长度, 就可以遍历完整个数组.

 

 

案例:百钱百鸡

需求和分析

 使用循环嵌套来穷举

代码演练:

 

 

 

 

 

 

案例: 数组元素求和

需求和思路分析:

 

代码演练:

 

 

 

 

案例:数组内容相同

需求和分析

两个数组要么相同, 要么不相同, 所以返回值类型是boolean 类型.

 

 代码演练:

定义比较的方法

 

调用方法并输出结果:

 

 

 

 

案例:查找

需求和思路分析

 

 

代码演练:

 自动导包

 

测试程序: 

 

 

 

 

下面把刚才的代码注释掉, 定义成一个方法来完成目标

 

 

代码测试:

 

 

 

 

 

案例:反转

需求和分析 

 

代码演练:

 

start 做++操作, 往后走.

end 做-- 操作, 往前走. 

 第28行代码为调用遍历方法.

定义一个遍历的方法.

 

 

 

 

现在把反转的操作注释掉, 然后也写成一个方法.

 

 第30 行代码调用反转的方法.

也实现了反转.

 

 

案例:评委打分

需求和思路分析:

 代码演练:

第25行的方法是用来遍历数组的.

 

每一个arr[x] 都可以获取一个评委的打分.

(x + 1) 的原因是x 是从0 开始的.

 

可以知道, 数组中的元素已经存在了, 也就是最主要的动作已经做完了. 

 

 现在把第40行调用"获取数组的方法"的代码注释掉.

然后在第51行定义一个获取数组中最大值的方法.

现在调用获取数组中最大值的方法(第43行)

 

 现在再调用获取数组中最小值的方法(第57行), 然后调用该方法(第46行)

 再定义一个求和方法(第60行), 并且调用该方法(第49行).

 再写上第51行到第55行代码, 这样, 代码就写完了.

 

 

这里写arr.length 比较方便, 加入将来评委数变了, 这里的代码是不需要修改的.

减2 是因为去掉了一个最高分和一个最低分.

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值