方法1:最外面是一个do-while循环,用来给程序多次执行的,
@Test public void test07(){ char char01 = 'y'; do{ System.out.println("请输入有多少头,多少条腿:"); Scanner scanner01 = new Scanner(System.in); int head = scanner01.nextInt(); int leg = scanner01.nextInt(); int ji =0, tu =0; //这个地方必须初始化为0,不然第二次执行的时候,它们就是从上一步的数值开始执行了 for(ji = 0 ;ji <= head;ji++){ for(tu = 0 ;tu <= head-ji ;tu++){ if((ji * 2)+(tu*4) == leg && ji+tu == head) System.out.println(ji+"只鸡,"+tu+"只兔"); else if((ji * 2)+(tu*4) == leg-1 && ji+tu == head) System.out.println(ji+"只鸡,"+tu+"只兔,但是多了一只脚"); } } System.out.println("是否需要继续输入:y/else"); String str01 = scanner01.next(); //用来接收字符串的第一个 字符 char01 = str01.charAt(0); }while(char01 == 'y');//如果满足while的条件,程序继续执行 }
@Test
public void test07(){
char char01 = 'y';
do{
System.out.println("请输入有多少头,多少条腿:");
Scanner scanner01 = new Scanner(System.in);
int head = scanner01.nextInt();
int leg = scanner01.nextInt();
int ji =0, tu =0; //这个地方必须初始化为0,不然第二次执行的时候,它们就是从上一步的数值开始执行了
for(ji = 0 ;ji <= head;ji++){
for(tu = 0 ;tu <= head-ji ;tu++){
if((ji * 2)+(tu*4) == leg && ji+tu == head)
System.out.println(ji+"只鸡,"+tu+"只兔");
else if((ji * 2)+(tu*4) == leg-1 && ji+tu == head)
System.out.println(ji+"只鸡,"+tu+"只兔,但是多了一只脚");
}
}
System.out.println("是否需要继续输入:y/else");
String str01 = scanner01.next(); //用来接收字符串的第一个 字符
char01 = str01.charAt(0);
}while(char01 == 'y');//如果满足while的条件,程序继续执行
}
方法2:这个效率相对来说更高一些,
@Test public void test06(){ //鸡兔同笼问题 System.out.println("请输入有多少头,多少条腿:"); Scanner scanner01 = new Scanner(System.in); int head = scanner01.nextInt(); int leg = scanner01.nextInt(); int ji , tu ; for(ji = 0; ji<=head;ji++){ tu = head - ji; if((ji * 2)+(tu*4) == leg || (ji * 2)+(tu*4) == leg-1){ if((ji * 2)+(tu*4) == leg) System.out.println("有"+ji+"只鸡,"+tu+"只兔"); else System.out.println("程序输入有错误,多一条腿。"+"有"+ji+"只鸡,"+tu+"只兔"); } } }
@Test
public void test06(){ //鸡兔同笼问题
System.out.println("请输入有多少头,多少条腿:");
Scanner scanner01 = new Scanner(System.in);
int head = scanner01.nextInt();
int leg = scanner01.nextInt();
int ji , tu ;
for(ji = 0; ji<=head;ji++){
tu = head - ji;
if((ji * 2)+(tu*4) == leg || (ji * 2)+(tu*4) == leg-1){
if((ji * 2)+(tu*4) == leg) System.out.println("有"+ji+"只鸡,"+tu+"只兔");
else System.out.println("程序输入有错误,多一条腿。"+"有"+ji+"只鸡,"+tu+"只兔");
}
}
}