我给分为了两块 一个专门写代码 一个专门输出 看结果 用到太多的 if
还有一个简单的 没有用到太多的 if 判断
没有写注释 知识点都在我发的那些博客里面 如果还是有不懂的 可留言 补上注释
代码类 : if 判断的
/*** 问:有100匹马 有100片瓦,* 大马能托3片瓦,中马能托2片瓦,三只小马能托一片瓦,正好这100匹马,把这100片瓦拉完.* 问有多少匹大马,多少匹中马,多少匹小马?*/public class Dai_Ma{ public static void m1(){ZhongZhi: for(int d=1; d <100 ; ++d){ //我这里代表大马 for(int z=1; z <100 ; ++z){ //我这里代表中马 for (double x=1; x < 100 ; ++x ){ // 我这里代表小马 if (d + z + x == 100 && 3*d + 2*z + x/3 == 100) { System.out.PRintln( "第一种答案 : " ); System.out.print("大马为 : "+ d + " 匹 " ); System.out.print( " 中马为 : " + z + " 匹 " ); System.out.println( " 小马为 : " + x + " 匹 " ); break ZhongZhi; } } } } } public static void m2(){ZhongZhi: for(int d=1; d <100 ; ++d){ //我这里代表大马 for(int z=1; z <100 ; ++z){ //我这里代表中马 for (double x=1; x < 100 ; ++x ){ // 我这里代表小马 if (d + z + x == 100 && 3*d + 2*z + x/3 == 100) { if (d != 5.0) { System.out.println( "第二种答案 : " ); System.out.print("大马为 : "+ d + " 匹 " ); System.out.print( " 中马为 : " + z + " 匹 " ); System.out.println( " 小马为 : " + x + " 匹 " ); break ZhongZhi; } } } } } } public static void m3(){ZhongZhi: for(int d=1; d <100 ; ++d){ //我这里代表大马 for(int z=1; z <100 ; ++z){ //我这里代表中马 for (double x=1; x < 100 ; ++x ){ // 我这里代表小马 if (d + z + x == 100 && 3*d + 2*z + x/3 == 100) { if (d != 5) { if (d != 10) { System.out.println( "第三种答案 : " ); System.out.print("大马为 : "+ d + " 匹 " ); System.out.print( " 中马为 : " + z + " 匹 " ); System.out.println( " 小马为 : " + x + " 匹 " ); break ZhongZhi; } } } } } } } public static void m4(){ZhongZhi: for(int d=1; d <100 ; ++d){ //我这里代表大马 for(int z=1; z <100 ; ++z){ //我这里代表中马 for (double x=1; x < 100 ; ++x ){ // 我这里代表小马 if (d + z + x == 100 && 3*d + 2*z + x/3 == 100) { if (d != 5) { if (d != 10) { if (d != 15) { System.out.println( "第四种答案 : " ); System.out.print("大马为 : "+ d + " 匹 " ); System.out.print( " 中马为 : " + z + " 匹 " ); System.out.println( " 小马为 : " + x + " 匹 " ); break ZhongZhi; } } } } } } } } public static void m5(){ZhongZhi: for(int d=1; d <100 ; ++d){ //我这里代表大马 for(int z=1; z <100 ; ++z){ //我这里代表中马 for (double x=1; x < 100 ; ++x ){ // 我这里代表小马 if (d + z + x == 100 && 3*d + 2*z + x/3 == 100) { if (d != 5) { if (d != 10) { if (d != 15) { if (d != 20) { System.out.println( "第五种答案 : " ); System.out.print("大马为 : "+ d + " 匹 " ); System.out.print( " 中马为 : " + z + " 匹 " ); System.out.println( " 小马为 : " + x + " 匹 " ); break ZhongZhi; }else{ System.out.println("没有答案了 就四种" ); } } } } } } } } }}
查看结果类 :
/*** 问:有100匹马 有100片瓦,* 大马能托3片瓦,中马能托2片瓦,三只小马能托一片瓦,正好这100匹马,把这100片瓦拉完.* 问有多少匹大马,多少匹中马,多少匹小马?*/public class Jie_Guo{ public static void main(String[] args){ Dai_Ma.m1(); Dai_Ma.m2(); Dai_Ma.m3(); Dai_Ma.m4(); Dai_Ma.m5(); }}
简单的 :
public class Jian_Dan{ static int c = 0;//静态变量 public static void main(String[] args){ m1();//调用m1方法 } public static void m1(){//声明静态方法 for(int d=1; d <100 ; ++d){//这里表示大马 for(int z=1; z <100 ; ++z){//这里表示中马 for(double x=1; x <100 ; ++x){//这里表示小马 if (d + z + x == 100 && 3*d + 2*z + x/3 == 100 ) { //判断 为真 就执行一下语句 c += 1;//进来一次 都和c相加 在赋值给c System.out.println( "第 " + c + "种答案 : " );//c进来几次 就证明有几次正确答案 System.out.println("大马有 :"+d +" 中马有 : "+z + " 小马有 : " + x ); } } } } }}
新闻热点
疑难解答