水仙花数是指一个数3位数,其每位数字立方和等于其本身,如153 = 1*1*1 + 3*3*3 + 5*5*5
题目分析:
通过观察发现,本题目要实现打印符合要求的数字(即水仙花数)。
- 明确什么样的数就是水仙花数。水仙花数是指一个3位数(100-999之间),其每位数字立方之和等于该3位数本身。如153 = 1*1*1 + 3*3*3 + 5*5*5,
即 3位数本身 = 百位数立方 + 十位数立方 + 个位数立方;
- 获取水仙花范围内的所有3位数(100-999之间的每个3位数)
- 判断该3位数是否满足水仙花数,满足,打印该3位数
解题步骤:
- 使用for循环,得到100-999之间的每个3位数
- 获取3位数中百位数字、十位数字、个位数字
- 使用if条件语句,判断该3位数是否满足水仙花数,满足,使用输出语句,打印该3位数
代码如下:
public class tset { public static void main(String[] args) { for (int i = 100; i < 1000; i++) { int bai = i/100%10; int shi = i/10%10; int ge = i%10; if (i == bai*bai*bai + shi*shi*shi + ge*ge*ge) { System.out.println(i); } } } }
利用for循环打印ABCDEFG...XYZ,26个大写字母与26个小写字母
题目分析:
通过观察发现,本题目要实现打印26个大写字母、26个小写字母
- 一共26个大小写字母,那么,可以考虑循环26次。在每次循环中,完成指定字母的大小写打印
- 找出ABCDEFG…XYZ这些字母之间的变化规律
通过ASCII表发现,后面的字母比它前面的字母,ASCII值大1
下一个字母 = 上一个字母 + 1
如: A B C D
65 66 67 68
3. 在每次循环中打印上一个字母大小写,并指定下一个字母
题目分析:
通过观察发现,本题目要实现打印26个大写字母、26个小写字母
- 一共26个大小写字母,那么,可以考虑循环26次。在每次循环中,完成指定字母的大小写打印
- 找出ABCDEFG…XYZ这些字母之间的变化规律
通过ASCII表发现,后面的字母比它前面的字母,ASCII值大1
下一个字母 = 上一个字母 + 1
如: A B C D
65 66 67 68
3. 在每次循环中打印上一个字母大小写,并指定下一个字母
public class tset { public static void main(String[] args) { char da = 'A'; char xiao = 'a'; for (int i = 0; i < 26; i++) { System.out.println("大写字母 "+da+" ,小写字母 "+xiao); da++; //更新大写字母值 xiao++; //更新小写字母值 } } }
利用for循环打印 9*9 表
如:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
题目分析:
通过观察发现,如果把1*1=1这样的内容 看做一颗*的话,那么打印结果就成了如下效果:
*
**
***
…
这样,就是打印9行星,每行打印星的个数与当前行数相等。
再观察“1*3=3 2*3=6 3*3=9”得出它们如下的变化规律:
每行第n次 +"*"+ 行号 +"="+ 每行第n次 * 行号
如: 1 +"*"+ 2 +"="+ 1*2; // 相当于1*2=2
2 +"*"+ 2 +"="+ 2*2; // 相当于2*2=4
解题步骤:
- 定义一个外层for循环,初始值从1开始,循环9次。用来控制打印的行数
- 在外层for循环内部,定义一个for循环,初始值从1开始,循环次数与当前行数相等。用来完成每行打印指定次数的乘法公式 如1*1=1
- 在内层for循环中,完成每行指定次数的乘法公式打印 如1*1=1
System.out.print(k +"*"+ j +"="+ j*k +"\t");
// 变量k代表:每行中的第n次
// 变量j代表:行号
在外循环中,当每行指定次数的乘法公式打印完毕后,通过System.out.println()切换到下一行。这样,再次打印乘法公式时,就在下一行输出打印了
代码如下:
public class tset { public static void main(String[] args) { for (int j = 1; j < 10; j++) { for (int k = 1; k <= j; k++) { System.out.print(k +"*"+ j +"="+ j*k +"\t"); } System.out.println(); } } }