java编码 100匹马 100块瓦(转)

我给分为了两块  一个专门写代码一个专门输出  看结果  用到太多的 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 );
}
}
}

}
}
}

 

 

 

 

全部评论
不懂怎么操作的,赶快加群【910011】大家都是散户,一起来交流吧
点赞 回复 分享
发布于 2015-08-13 10:22

相关推荐

ProMonkey2024:5个oc?厉害! 但是有一个小问题:谁问你了?😡我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了(别的帖子偷来的,现学现卖😋)
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务