以下是对上周做的几道for循环练习题的整理:
1.打印正方形
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
public class One {
public static void main(String[] args) {
for(int i=0;i<5;i++) {//外循环
for(int j=0;j<5;j++) {//内循环
System.out.print("* ");//内循环执行一次,打印一个*
}
System.out.println();//换行
}
}
}
2、九九乘法表
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*4=4 2*4=8 3*4=12 4*4=16
1*3=3 2*3=6 3*3=9
1*2=2 2*2=4
1*1=1
public class Two {
public static void main(String[] args)
{
//正三角
for(int i=1;i<=9;i++)
{
for(int j=1;j<=i;j++)
/*
* 外循环执行1次,内循环执行i次
* 第一次循环:i=1;j=1;1<=1;输出1*1=1;
*第二次循环:i=2;j=1,2;输出1*2=2;2*2=4
*/
{
System.out.print(j+"*"+i+"="+i*j+" ");
}
System.out.print("\n");//换行
}
for(int i=9;i>=1;i--)//倒三角
{
for(int j=1;j<=i;j++)
/*
* 与正三角类似
* 第一次循环;i=9,那么内循环就要循环9次
*/
{
System.out.print(j+"*"+i+"="+i*j+" ");
}
System.out.print("\n");
}
}
}
3、左直角三角形
*
* *
* * *
* * * *
* * * * *
public class Three {
public static void main(String[] args) {
/*
* 这个与打印九九乘法表的题类似
* 外循环执行一次,内循环执行i次;
*/
for(int i=1;i<=5;i++) {
for(int j=0;j
4、右直角三角形
*
* *
* * *
* * * *
* * * * *
public class Four
{
public static void main(String[] args)
{
/*
* 这道题我的思路是外循环里嵌套两个内循环,
* 第一个内循环是输出左上角的空格三角
* 第二个内循环与上一题中的直角三角一样
*/
for(int i=1;i<=5;i++){
for(int j=5;j>i;j--){//空格三角
System.out.print(" ");
}
for(int k=0;k
5、这样的三角形
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *
public class Five
{
public static void main(String[] args)
{
/*
* 这道题与上一个题类似
* 左上角的是空格三角
* 外循环执行一次,内循环执行2*i-2次,得到每一行的足够星号数量;
*/
for(int i=1;i<=5;i++){
for(int k=5;k>i;k--){
System.out.print(" ");
}
for(int j=0;j<2*i-1;j++){
System.out.print("*");
}
System.out.print("\n");
}
}
}
6、倒左直角三角形:
* * * * *
* * * *
* * *
* *
*
public class Six {
public static void main(String[] args) {
/*
* 这道题与第二题打印倒三角九九乘法表类似
* 外循环执行一次,内循环执行五次
*/
for(int i=0;i<5;i++) {
for(int j=5;j>i;j--) {
System.out.print("*");
}
System.out.print("\n");
}
}
}
7、倒右直角三角形
* * * * *
* * * *
* * *
* *
*
public class Seven {
public static void main(String[] args){
/*
* 这道题依然是空格三角的问题,把第六题中的内循环中加个空格三角就行了
*/
for(int i=0;i<5;i++) {
for(int k=0;ki;j--) {
System.out.print("*");
}
System.out.print("\n");
}
}
}
8、菱形:
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *
* * * * * * *
* * * * *
* * *
*
public class Eight {
public static void main(String[] args){
/*
* 这道题我的思路是叠加了两个第五题中的三角形
* 把下面的三角形做了跟第七题类似下改动,让它倒起来
* 这道题我看到别人有其它的做法,有空去看一下
*/
for(int i=1;i<=5;i++){
for(int k=5;k>i;k--){
System.out.print(" ");
}
for(int j=0;j<2*i-1;j++){
System.out.print("*");
}
System.out.print("\n");
}
for(int i=5;i>0;i--){
for(int k=5;k>=i;k--){
System.out.print(" ");
}
for(int j=2*i-3;j>0;j--){
System.out.print("*");
}
System.out.print("\n");
}
}
}
总结:
for循环的关键在于外循环和内循环的分工要明确
外循环执行一次,一整个内循环都得执行