黑马程序员技术交流社区

标题: 各位大神,谁能把这个程序给简化一下 [打印本页]

作者: 惊鸿游龙    时间: 2016-8-22 10:17
标题: 各位大神,谁能把这个程序给简化一下
aimport java.util.Scanner;
class Legs {
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入腿的总数量(大于1的偶数)");//输出语句提示
                int num1 = sc.nextInt();                                                                //输入腿的总数量
                System.out.println("请输入鸡与兔的总只数(大于1的整数)");
                int num2 = sc.nextInt();                                        //输入鸡与兔的总只数
                int temp = 0;                                                                //鸡的数量
                for(int i = 0;i <= num2;i++){                               
                        if(i*2+(num2-i)*4==num1){
                                temp = i;
                                break;                                                                        //通过循环得到可信的鸡的数量,得到唯一解后立即跳出循环,继续执行剩余代码
                        }else {
                                temp = -1;                                                                //无法求得整数解时,将-1赋值与temp,执行剩余代码
                        }
                }
                if (temp != -1) {                                                                //通过for循环返回的temp结果
                        System.out.println("鸡的数量为"+temp+",兔子的数量为"+(num2-temp));
                }else {
                        System.out.println("这不是地球的鸡和兔子!!!!!!!!");
                }
               
        }
}

作者: 水月灬清影    时间: 2016-8-22 10:36
整理一元一次方程
[Java] 纯文本查看 复制代码
import java.util.Scanner;


public class Count {
        public static void main(String[] args) {
                 Scanner sc = new Scanner(System.in);
             System.out.println("请输入腿总数(偶数)");
             int numLegs = sc.nextInt();   
             
             
             System.out.println("请输入鸡兔总数(整数)");
             int all = sc.nextInt();  
             
             //整理一元一次方程
             int rabbits=numLegs/2-all;
             int chickens =all-rabbits;
             
             System.out.println("鸡:"+chickens+",兔:"+rabbits);
        }
                                              
}

作者: li--yong    时间: 2016-8-22 11:54
很溜,可以的

作者: 阿卜    时间: 2016-8-22 12:54
class Legs {
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入腿的总数量(大于1的偶数)");//输出语句提示
                int num1 = sc.nextInt();                                                                //输入腿的总数量
                System.out.println("请输入鸡与兔的总只数(大于1的整数)");
                int num2 = sc.nextInt();                                        //输入鸡与兔的总只数
                sc.close();
                for(int i = 0;i <= num2;i++){                                
                        if(i*2+(num2-i)*4==num1){
                               System.out.println("chicken" + i + "rabbit" + (num2 - i));
                                return;                                                                        //通过循环得到可信的鸡的数量,得到唯一解后结束方法
                        }
                }
                System.out.println("这不是地球的鸡和兔子!!!!!!!!");
        }
}
作者: 哈韩浪子    时间: 2016-8-22 14:17
鸡兔同笼的算法吗?
作者: wmc1994    时间: 2016-8-22 22:13
可以,看来一道有不同解法和算法!
作者: 马蚁牙黑    时间: 2016-8-23 00:24
哎呦,不错哦
作者: 惊鸿游龙    时间: 2016-8-23 22:03
import java.util.Scanner;
public class Count {
    public static void main(String[] args) {
         Scanner sc = new Scanner(System.in);
         System.out.println("请输入腿总数(偶数)");
         int num = sc.nextInt();   
         
         
         System.out.println("请输入鸡兔总数(整数)");
         int all = sc.nextInt();  
         
         if((num % 2 )==0){
                         for(int chick = 1;chick <= all; chick++) {
                                if(2 * chick + 4 * (all-chick) == num){
                                        System.out.println("鸡" + chick + "兔" + (all - chick));
                                        break;
                                }else if(chick==num) {
                                        System.out.println("不对");
                                       
                                }
                                       
                         }

         /*int rabbits= num/2-all;
         int chickens =all-rabbits;
         
         System.out.println("鸡:"+chickens+",兔:"+rabbits);*/
         }else{
                        System.out.println("这不是地球上的动物吧!");
                 }
               
    }
                                          
}






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2