鸡兔同笼

package questions;
import java.util.Scanner;  //导入java.util包中的Scanner这个工具类
 
public class Q5 
{
    static int chicken,rabbit;// static 声明的静态变量。用static声明的属性是所有对象共享的。
    
    public static void main(String[] args) 
    {
        System.out.println("鸡兔同笼问题解答如下(穷举算法):");
        
        boolean judge;
        
        System.out.print("请输入头的数量:");
        Scanner input1=new Scanner(System.in);
        int m=input1.nextInt();  //头
        
        System.out.print("请输入脚的数量:");
        Scanner input2=new Scanner(System.in);
        int n=input2.nextInt();  //脚
        
        judge=found(m,n);
        
        if(judge==true) 
        {
            System.out.println("鸡的数量为"+chicken+"只");
            System.out.println("兔的数量为"+rabbit+"只");
        }
        else
            System.out.println("输入的数据有错,请重新输入!");
        
        input1.close();
        input2.close();
    }
    
    private static boolean found(int m, int n) 
    {
        boolean judge=false;
        int x,y;   // 令 x为鸡的数量,y为兔的数量
        for(x=0; x<m+1;x++)  //遍历鸡的只数
        {
            y=m-x;
            if(n==2*x+4*y) //鸡兔同笼的数量关系
            {
                judge=true;
                chicken=x; //修改静态变量内容
                rabbit=y;  //修改静态变量内容
            }
        }
        return judge;
    }
    
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。