学习-Java循环之嵌套循环之淡水湖排名

任务描述

本关任务:我国有 4 大淡水湖,分别是洞庭湖,洪泽湖,鄱阳湖和太湖。
A 说:洞庭湖最大,洪泽湖最小,鄱阳湖第三;
B 说:洪泽湖最大,洞庭湖最小,鄱阳湖第二,太湖第三;
C 说:洪泽湖最小,洞庭湖第三;
D 说:鄱阳湖最大,太湖最小,洪泽湖第二,洞庭湖第三。
请根据每人说的话求出 4 大湖的正确排名。

代码及注释

/* 任务:我国有 4 大淡水湖,分别是洞庭湖,洪泽湖,鄱阳湖和太湖。 A 说:洞庭湖最大,洪泽湖最小,鄱阳湖第三; B 说:洪泽湖最大,洞庭湖最小,鄱阳湖第二,太湖第三; C 说:洪泽湖最小,洞庭湖第三; D 说:鄱阳湖最大,太湖最小,洪泽湖第二,洞庭湖第三。 请输出4大湖的正确排名,输出样式:洞庭湖排名:n A说的话可用如下表达式体现: int a1 = (dongting == 1) ? 1 : 0;//洞庭湖最大(1),是的话赋值为1,否则赋值为0 int a2 = (hongze == 4) ? 1 : 0;//洪泽湖最小(4),是的话赋值为1,否则赋值为0 int a3 = (poyang == 3) ? 1 : 0; a=a1+a2+a3;//A说的话 */ public class LakeTest { public static void main(String[] args) { int a, b, c, d; int dongting, hongze, poyang, tai; for (dongting = 1;dongting<=4;dongting++){ //让洞庭湖依次是排名第一,第二,第三,第四 for (hongze = 1;hongze<=4;hongze++){ //让洪泽湖依次是排名第一,第二,第三,第四 if (dongting == hongze){ continue; } //当洪泽湖排名和洞庭湖一样时,不执行后面的语句,目的是避免排名相同的情况出现 for (poyang = 1;poyang<=4;poyang++){ if (dongting == poyang || hongze == poyang){ continue; } //当鄱阳湖和洪泽湖排名或洞庭湖一样时,不执行后面的语句,目的是避免排名相同的情况出现 tai = 10 - dongting - hongze - poyang;//排名1+2+3+4=10,所以太湖的排名可以是10-(其他三个湖排名之和) a = (dongting==1?1:0) + (hongze==4?1:0) + (poyang==3?1:0); b = (hongze==1?1:0) + (dongting==4?1:0) + (poyang==2?1:0) + (tai==3?1:0); c = (hongze==4?1:0) + (dongting==3?1:0); d = (poyang==1?1:0) + (tai==4?1:0) + (hongze==2?1:0) + (dongting==3?1:0); if ((a==1) && (b==1) && (c==1) && (d==1)){ System.out.println("洞庭湖排名:"+dongting); System.out.println("洪泽湖排名:"+hongze); System.out.println("鄱阳湖排名:"+poyang); System.out.println("太湖排名:"+tai); } //因为4人说的话,是存在两两矛盾的,所以我们只需要每人的话中有一个是真的,输出满足条件的排名即可 } } } } }

 


__EOF__

本文作者柏木カケル
本文链接https://www.cnblogs.com/kakeru-kashihagi/p/16153977.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   柏木カケル  阅读(206)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示