面向对象程序设计——第3章 案例

案例一 水仙花数

案例要求

【案例目标】 用户通过键盘输入一个整数值,判断该数值是否为“水仙花数”。

【相关解释】 “水仙花数”是指一个3位数,其各位数的三次方和等于该数本身。

例如:水仙花例如: 153是一个“水仙花数”,因为

153 = 1*1*1 + 5*5*5 + 3*3*3 = 1+125+27

【案例效果】本案例程序运行的结果如图

【具体要求】本案例的实现过程应满足以下要求。

1. 创建工程并配置环境
  • 限制1:工程取名SE_JAVA_EXP_E005

  • 限制2:创建包,取名cn.campsg.java.experiment。

  • 限制3:创建类,类名为DaffodilsNum。

2. 获取用户输入的数值

要求用户输入数值,提示语句:"请输入 0-1000 内的数字:"

3. 判断输入的数值是否合法

1)用户输入数值范围应为0~1000。

2)输入不合法,显示提示:

"输入的不是 0-1000 内的数字!"

4. 判断输入的数值是不是水仙花数

1)获取用户输入的数值的个位数。

2)获取用户输入的数值的十位数。

3)获取用户输入的数值的百位数。

4)分别计算各个位数的三次方值并求和。

5)根据水仙花数判断规则,判断用户输入的数值是不是水仙花数。

6)是水仙花数,打印:

用户输入的数值+"是水仙花数!"

7)不是水仙花数,打印:

用户输入的数值+"不是水仙花数!"

2. 实现思路与代码

【实现思路】本案例实现的参考思路如下。

1. 创建工程并配置环境

按实训要求创建工程并配置环境

2. 获取用户输入的数值

1)创建 Scanner对象,设置参数System.in:

提示

Scanner in = new Scanner (System.in);

2)调用Scanner的nextInt方法获取用户输入的数值。

3)调用 close方法关闭Scanner。

3. 判断输入的数值是否合法

1)如用户输入数值不在 0~1000 范围内,打印提示语句:

“输入的不是 0-1000 内的数字!”

2)退出程序。

提示

return
4. 判断输入的数值是不是水仙花数

1)获取用户输入的数值的个位数=数值%10。

2)获取用户输入的数值的十位数=数值/10%10。

3)获取用户输入的数值的百位数=数值/100

4)分别计算各个位数的三次方值并求和:(个位数*个位数*个位数) + (十位数*十位数*十位数) + (百位数*百位数*百位数)。

5. 判断计算结果与用户输入的数值是否相等

1)是水仙花数,打印:

用户输入的数值+"是水仙花数!"

2) 不是水仙花数,打印:

用户输入的数值+"不是水仙花数!"

package cn.campsg.java.experiment;
​
import java.util.Scanner;
​
public class DaffodilsNum {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入 0-1000 内的数字:");
        int Num = input.nextInt();
        input.close();
        if ((Num > 0) && (Num < 1000)) {
            int a = Num % 10;
            int b = Num / 10 % 10;
            int c = Num / 100;
            int Sum = a*a*a + b*b*b + c*c*c;
            if (Num == Sum) {
                System.out.println(Num + "是水仙花数!");
            }else {
                System.out.println(Num + "不是水仙花数!");
            }
        }else {
            System.out.println("输入的不是 0-1000 内的数字!");
        }
    }
​
}

案例二 闰年计算

1.案例要求

【案例目标】 用户通过键盘输入一个年份值,判断该年是否为闰年。

【相关解释】 “闰年”是指能被4整除却不能被100整除,或能被400整除的年份。 2024

例如:2018年不是闰年, 2012年是闰年。

【案例效果】 本案例程序运行的结果如图所示。

【具体要求】本案例的实现过程应满足以下要求。

1. 闰年条件

1)条件 1:每相隔4年为一个闰年。

2)条件2:相隔100年一定不是闰年。

3)条件 3:相隔 400年一定是闰年。

2. 创建工程并配置环境

1)限制1:工程取名SE_JAVA_EXP_E003。

2)限制2:创建包,取名

  • 18
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值