鸡兔同笼(简易版)——Java

题目:

编写Java程序求鸡兔同笼问题:头5个,脚16个,问鸡兔各几何?

提示:分别声明变量头(head)和脚(foot)的求值表达式

错误思路:

        数学思维,觉得列个二元一次方程组计算机自己就会自动解出来

正确思路 :(相当于自己解方程而非计算机帮你解)

        根据上边的“错误思路”里边的方程写出鸡和兔的表达式

完整代码:

package Project01;

public class CRinOne {
    public static void main(String[] args) {
        int head = 5, foot  = 16;

        int chicken =(foot - 2 * head)/2;
        int rabbit = head - chicken;

        System.out.println("鸡有" + chicken + "只");
        System.out.println("兔子有" + rabbit + "只");
    }

}

输出效果: 


要点:如何写出鸡和兔的表达式

        int rabbit = (foot - 2 * head) / 2;
        int chicken = head - rabbit;

细节优化

细节一:验证题目的合理性

 // 检查脚数合法性(必须为偶数)
        if (foot % 2 != 0) {
            System.out.println("错误:脚的数量必须是偶数!");
            return;
        }

细节二:验证结果的合理性

// 验证结果合理性
        if (rabbit >= 0 && chicken >= 0) 
        {
            System.out.println("鸡有 " + chicken + " 只");
            System.out.println("兔有 " + rabbit + " 只");
        } 
        else 
        {
            System.out.println("无解:数量不能为负数");
        }

完整优化代码

 

package Project01;

public class CRinOne {
    public static void main(String[] args) {
        int head = 5, foot  = 16;


        // 检查脚数合法性(必须为偶数)
        if (foot % 2 != 0) {
            System.out.println("错误:脚的数量必须是偶数!");
            return;
        }



        int chicken =(foot - 2 * head)/2;
        int rabbit = head - chicken;


// 验证结果合理性
        if (rabbit >= 0 && chicken >= 0)
        {
            System.out.println("鸡有 " + chicken + " 只");
            System.out.println("兔有 " + rabbit + " 只");
        }
        else
        {
            System.out.println("无解:数量不能为负数");
        }
    }
}

 输出效果:


补充

尽量不要设a,b这种变量了,后期会想不起来其代表的含义

鸡的头数就设chicken,兔子的头数就设rabbit

头数就设head,脚数就设foot

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Pniubi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值