【回顾】昨天给了一些经典练习题,今天带上答案我们来探讨下
1.需求实现
获取 3 位数的水仙花数,效果如图所示:

编写步骤:
1. 使用 for 循环获取 100-999 中的每个数字
2. 在 for 循环中获取这个数字的百位
3. 在 for 循环中获取这个数字的十位
4. 在 for 循环中获取这个数字的个位
5. 如果个位的立方 + 十位的立方 + 百位的立方等于这个数本身 , 则打印这个水仙花数字
参考答案:
public class Test6 {
public static void main(String[] args) {
// 1.使用for循环获取100‐999中的每个数字
for(int i = 100 ; i < 1000 ; i++) {
// 2.在for循环中获取这个数字的百位
int bai = i / 100;
// 3.在for循环中获取这个数字的十位
int shi = i / 10 % 10;
// 4.在for循环中获取这个数字的个位
int ge = i % 10;
// 5.如果个位的立方 + 十位的立方 + 百位的立方等于这个数本身,则打印这个水仙花数
if(ge * ge * ge + shi * shi * shi + bai * bai * bai == i) {
System.out.println(i);
}
}
}
}
2.需求实现
打印1-60的所有偶数,并且5个一行,效果如图所示:

编写步骤:
1. 定义变量 count 记录打印的数量
2. for 循环获取到 1-60 的偶数
3. 在 for 循环内打印偶数不换行
4. 打印的数量 +1
5. 当打印的数量满足了 5 个就换行
参考答案:
public class Test7 {
public static void main(String[] args) {
// 1.定义变量count记录打印的数量
int count = 0;
// 2.for循环获取到1‐60的偶数
for (int i = 2; i <= 60; i += 2) {
// 3.在for循环内打印偶数
System.out.print(i + " ");
// 4.数量+1
count++;
// 5.当打印的数量满足了5个就换行
if (count % 5 == 0) {
System.out.println();
}
}
}
}
3.需求实现
打印星座信息,效果如图所示:

开发提示:
1-12 的规律数字,可以使用 for 循环处理
根据不同的数字,匹配显示不同的文字,可以使用switch匹配
参考答案:
public class Test8 {
public static void main(String[] args) {
// 使用for循环,初始化变量month为1,当month<=12时,进入循环,步进表达式为month自增
for (int month = 1; month <=12; month++) {
// for循环内,输出month变量
System.out.print(month+":");
// for循环内,使用switch语句,根据month的值,输出对应的星座
switch (month) {
case 1:
System.out.println("水瓶");
break;
case 2:
System.out.println("双鱼");
break;
case 3:
System.out.println("白羊");
break;
case 4:
System.out.println("金牛");
break;
case 5:
System.out.println("双子");
break;
case 6:
System.out.println("巨蟹");
break;
case 7:
System.out.println("狮子");
break;
case 8:
System.out.println("处女");
break;
case 9:
System.out.println("天秤");
break;
case 10:
System.out.println("天蝎");
break;
case 11:
System.out.println("射手");
break;
case 12:
System.out.println("摩羯");
break;
}
}
}
}
4.需求实现
打印『X』对称图形,效果如图所示:

开发提示:
平面图形涉及到有行有列,考虑到嵌套 for 循环
一个外循环控制行,一个内循环控制输出内容
在内循环中,根据变量的变化规律,判断输出 "O" 还是 "*"
参考答案:
public class Test10 {
public static void main(String[] args) {
// 定义 for循环,初始化变量x = 1,如果x<=7进入循环,步进表达式x++
for (int x = 1; x <= 7; x++) {
// for循环内部,再嵌套定义一套for循环,初始化变量y = 1,如果y<=7进入循环,步进表达式y++
for (int y = 1; y <= 7; y++) {
// 在内循环内部,判断x==y 或者 x+y==8 ,则打印"O",否则打印"*"
if (x == y || x + y == 8) {
System.out.print("O");
} else {
System.out.print("*");
}
}
//换行
System.out.println();
}
}
}
这篇博客介绍了四个Java编程问题的解决方案,包括如何找出100-999之间的水仙花数,打印1-60的偶数并每5个换行,按月份输出对应的星座信息,以及绘制特定的对称图形。通过这些实例,读者可以加深对Java循环和条件控制的理解。

502

被折叠的 条评论
为什么被折叠?



