减肥计划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 是因为去掉了一个最高分和一个最低分.