需求实现
获取3位数的水仙花数,效果如图所示:
编写步骤:
1. 使用for循环获取100-999中的每个数字
2. 在for循环中获取这个数字的百位
3. 在for循环中获取这个数字的十位
4. 在for循环中获取这个数字的个位
5. 如果个位的立方 + 十位的立方 + 百位的立方等于这个数本身,则打印这个水仙花数字
参考答案:
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);
}
}}
需求实现
打印『X』对称图形,效果如图所示:
开发提示:
1、平面图形涉及到有行有列,考虑到嵌套for循环
2、一个外循环控制行,一个内循环控制输出内容
3、在内循环中,根据变量的变化规律,判断输出"O"还是"*"
参考答案:
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();
}
}