黑马程序员技术交流社区

标题: 九九乘法表中的问题 [打印本页]

作者: 郭凯    时间: 2012-11-14 16:02
标题: 九九乘法表中的问题

  1. <p> </p>
复制代码
public class TestMulTable
{
public static void main(String[] args)
{
  System.out.print(" ");
  for (int j=1;j<=9 ;j++ )
   System.out.print("   "+j);
  System.out.println(" ");
  for(int i=1;i<=9;i++)
  {
   System.out.print(i+"");
   for(int j=1;j<=i;j++)
   {
    if(i*j<10)
     System.out.print("   "+i*j);
    else
     System.out.print("  "+i*j);
   }
   System.out.println();//这句不明白是什么意思
  }
}
}

作者: 邵天强    时间: 2012-11-14 16:25
要想知道System.out.println();在程序中起到什么作用,你可以先注释掉,然后运行一下,与未注释前有什么区别,很明显是对于九九乘法,每一行打印完后进行换行。
但是我运行了一下你的程序,打印的不是完全正确九九乘法,有一点小小的问题,下面是我写的九九乘法的两个方法,希望对你有所帮助,也希望批评指正
方法一:采用双循环的方式
package com.itheima;
public class TestMulTable {
public static void main(String[] args) {
       for(int i=1;i<=9;i++){//遍历行
        for(int j=1;j<=i;j++){//遍历列,不能大于行的i值
         System.out.print(j+"*"+i+"="+i*j+" ");//打印,空格隔开
        }
        System.out.println();//换行
       }
}
}
方法二:采用一个for循环实现
package com.itheima;
public class TestMulTable {
public static void main(String[] args) {
       for(int i=1,j=1;j<=9;i++){//循环,初始化i和j为1
        
        System.out.print(i+"*"+j+"="+i*j+" ");//间隔打印他们的每一项
        if(i==j){//判断是否该换行
         i=0;//将i的值赋为0
         j++;//j自加1
         System.out.println();//换行
        }
       }
}
}
运行结果为:


作者: 刘腾    时间: 2012-11-14 16:48
System.out.println();//这句不明白是什么意思

实现的换行操作。
一个9*9乘法表的程序
  1. class  Demo2
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 for(int i=1;i<10;i++)//控制行
  6.                 {
  7.                         for(int j=1;j<=i;j++)//控制列
  8.                         {
  9.                                 System.out.print(i+"*"+j+"="+i*j+"\t");
  10.                         }
  11.                         System.out.println();
  12.                 }
  13.        
  14.         }
  15. }
复制代码
没看明白你前面的那个
for (int j=1;j<=9 ;j++ )
   System.out.print("   "+j);
  System.out.println(" ");
想表达什么呢,而且for后面没有大括号。
作者: 被遗弃者    时间: 2012-11-14 16:58
如果不加System.out.println(); 则打印出来的排列不整齐,加上了就整齐了,你可以试一下!
作者: 郑丹丹    时间: 2012-11-14 17:15
System.out.println();//这句不明白是什么意思
这句话主要是起换行的作用。老毕的视频上有讲,你可以再仔细看看。
作者: jerry2627    时间: 2012-11-14 18:33
那句就是为了换行而已

作者: 郭凯    时间: 2012-11-14 19:35
谢谢大家,我明白了!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2