public static void main(String[] args){
int rabbit=0;
int chicken=0;
if(rabbit+chicken==35&&2*chicken+4*rabbit==94){
System.out.println(rabbit);
}
}
这样为什么不可以啊?
你要写
for (int rabbit=0; rabbit <= 100; rabbit++)
for (chicken=0; chicken <= 100; chicken++)
{
if(rabbit+chicken==35&&2*chicken+4*rabbit==94){
System.out.println(rabbit);
}
因为你没有循环,所以鸡兔都是0,条件不符合,不输出任何东西就结束了。
要加两层循环哦,你这样的rabbit和chicken永远是0,永远满足不了输出的条件
这个当然需要双重循环的
public class JiTu {
public static void main(String args[]) {
int head = 0;
int foot = 0;
String in = "";
String[] parameters;
Scanner input = new Scanner(System.in);
System.out.println("请输入头和脚的数量(用英文逗号隔开):");
try {
while (true) {
in = input.next();
parameters = in.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) {
// TODO Auto-generated catch block
System.out.println("输入有误!程序退出。");
System.exit(-1);
}
int ji = 0, 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 + "只");
}
}
}
}