如何利用java的for循环打印如下图形,就是倒的九九乘法表

平常那种九九乘法表我会打印,但是我想打印输出一个倒的九九乘法表,就是图片那样子。。应该如何操作?试了很多次,没有成功。我是新手。。。好迷茫

你看看。
其实关键是嵌套for循环。
System.out.println()只是分行而已。
你按照思路走,什么样的乘法表,加法表都有了。
你可以写出来之后自己走一遍循环,就是说你按照程序的代码走一遍,然后就知道自己写了什么东西。比如这个乘法表。循环开始,i是9,满足循环条件,进入循环,然后遇到第二个循环,j等于1,i=9,j<=i,满足条件,继续进入第二个循环,,然后就得到r r=9*1,即r=9。
输出的是j*i,即1*9,然后出内循环,System.out.println()换行,再进循环,这次i=8,继续进循环....这样你就很明白自己写了什么了。
锻炼锻炼就好了。什么都有适应的过程,希望能帮到你。

代码如下:
package com.unet.www;

public class Math {
 public static void main(String [] args){
  int r = 0;
  for(int i = 9;i>0;i--){
   System.out.println("");
   for(int j =1;j<=i;j++){
    r=i*j;
    System.out.print(j+"x"+i+"="+r+"\t");
   }
   System.out.println();
  }
 } 
}

追问

非常感谢,如果想打印对称的九九乘法表怎么弄?现在打印出来不是在左边吗?我想右边也打印。就是下面这样子。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-28
public static void chengfa()
 {
  int kongge=0;
  for(int i=9;i>=1;i--)
  {
   for(int j=1;j<=i;j++)
   {
    System.out.print(j+"*"+i+"="+j*i+"\t");
    if(j==i)
    {
     kongge=j;
     while(kongge<=8)
     {
      //System.out.print("\t");
      System.out.print("\t\t");
      kongge=kongge+1;
     }
     for(int k=1;k<=i;k++)
     {
      System.out.print(k+"*"+i+"="+k*i+"\t");
     }
     System.out.print("\n");
     
     
    }
   }
   
  }
  
  
 }

第2个回答  2013-10-27
这是最基本,慢慢来吧

package jc;
public class chengfa {
public static void main(String[] args) {
for(int i=9;i>0;i--){
for(int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+j*i);
if(j*i>9)
System.out.print(" ");
else
System.out.print(" ");

}System.out.println();
}
}
}追问

非常感谢,如果想打印对称的九九乘法表怎么弄?现在打印出来不是在左边吗?我想右边也打印。就是下面这样子。

追答

就是一个数空格的问题,自习调整下就可以了

package jc;
public class chengfa {
public static void main(String[] args) {
int i,j;
for(i=9;i>0;i--){
int x=1;
while(x9)
System.out.print(" ");
else
System.out.print(" ");

}
x++;
if(i==9||i==8)
for(int y=1;y<(9-i)*30;y++){
System.out.print(" ");
}
else
{
for(int z=1;z<((9-i)*30-(8-i));z++){
System.out.print(" ");
}
}
}System.out.println();
}

}
}

第3个回答  2020-02-03

相似回答