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(); //递归
}
}
实现中常见的问题
这是一个数学计算题,出错有以下几种情况。
问题一:因为对问题分析不清楚,给出了错误的计算公式;
问题二:不用数学方法,而试图用枚举所有鸡和兔的个数来求解此题,造成超时;
问题三:试图把所有输入先存储起来,再输出,定义的数组太小,因数组越界产生运行出错;
问题四:在每行输出末尾缺少换行符;
问题五:对输入输出语法不熟悉导致死循环或语法错误。
鸡兔同笼
最新推荐文章于 2024-03-26 18:53:21 发布