鸡兔同笼

 package chenli;

import java.util.Scanner;

public class zuoye {    
        public static void main(String[] args) {    
            new zuoye();  
        }  
        public zuoye(){  
            int head = 0;  
            int foot = 0 ;  
            String biaoshi;  
            String [] parameters;  
            Scanner input = new Scanner(System.in);  
            System.out.println("请输入头的数量和脚的数量,中间用逗号分开(英文)!0:程序退出");  
            try {  

                while (true) {  
                    biaoshi = input.next();  
                    parameters = biaoshi.split(",");  
                    head =Integer.parseInt(parameters[0]);  
                    foot =Integer.parseInt(parameters[1]);  
                    if(foot<2 || (foot%2)!=0){  
                        System.out.println("请输入正确的脚得数量!");  
                        continue;  
                    }else{  
                        break;  
                    }  
                }  
            } catch (Exception e) {  
                 System.out.println("程序已经退出");  
                 System.exit(0);  
            }  

                int ji,tuMax;  
                tuMax = foot / 4; // 兔子的最大值  
                for (int tu = 0; tu <= tuMax; tu++) {  
                    ji = (foot - 4 * tu) / 2; // 从兔子个数为0开始测试,穷举所有情况  
                    if (ji + tu == head) { // 如果鸡兔数量=头数,则输出  
                        System.out.println("鸡有" + ji + "只\t兔子有" + tu + "只");  
                    }  
                }  
                new zuoye(); //递归  
        }  
    }     
 实现中常见的问题
 这是一个数学计算题,出错有以下几种情况。
 问题一:因为对问题分析不清楚,给出了错误的计算公式;
 问题二:不用数学方法,而试图用枚举所有鸡和兔的个数来求解此题,造成超时;
 问题三:试图把所有输入先存储起来,再输出,定义的数组太小,因数组越界产生运行出错;
 问题四:在每行输出末尾缺少换行符;
 问题五:对输入输出语法不熟悉导致死循环或语法错误。

这里写图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值