黑马程序员技术交流社区

标题: 循环语句 输出乘法表 [打印本页]

作者: 王明明    时间: 2012-6-13 15:17
标题: 循环语句 输出乘法表
用程序的方式显示出下列结果。

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. class Demo
  2. {
  3.         public static void main(String[] args)
  4.         {       
  5.                 int i=1;
  6.                 int a=1;
  7.                 for(i=1;i<=5;)
  8.                 {
  9.                         if(i!=a & a<=5)
  10.                         {
  11.                                 System.out.print(i+"*"+a+"="+i*a+"   ");
  12.                                 i++;               
  13.                        
  14.                         }
  15.                         else if(i==a)
  16.                         {
  17.                                 System.out.println(i+"*"+a+"="+i*a+"   ");
  18.                                 a++;       
  19.                                 i=1;                                                       
  20.                         }
  21.                 }
  22.         }
  23. }
复制代码
这个是我想出来的 想请教 还有没有别的更直观的办法...
作者: 张頔    时间: 2012-6-13 15:24
双层循环

public class biao {
        public static void main(String[] args){
                for(int i=1;i<=9;i++){
                        for(int j=1;j<=i;j++){
                                System.out.print(j+"*"+i+"="+(i*j)+"  ");
                        }
                        System.out.println();
                }
        }
}


作者: 王明明    时间: 2012-6-13 15:27
张頔 发表于 2012-6-13 15:24
双层循环

public class biao {

你这么 输出 是
1*1=1
1*2=2
1*3=3
...
是这么显示的
并不是
1*1=1  
1*2=2  2*2=4
这样
作者: 张頔    时间: 2012-6-13 15:31
王明明 发表于 2012-6-13 15:27
你这么 输出 是
1*1=1
1*2=2

= =  你确定你把我的代码运行了?
作者: 王明明    时间: 2012-6-13 15:32
张頔 发表于 2012-6-13 15:24
双层循环

public class biao {

我明白了 谢谢
作者: 马林康    时间: 2012-6-13 16:06
package cn.itcast;
public class MultiplicationTable {
        public static void main(String[] args)
        {
                for(int b=1;b<10;b++)
                {
                        for(int a=1;a<=b;a++)
                        {
                                System.out.print(a+"*"+b+"="+a*b+"\t");
                        }
                        System.out.println();

                }
        }

}
作者: 王红霞    时间: 2012-6-13 20:40
嗯确实是双层循环比单层循环省代码


public class test {
        public static void main(String[] args)
        {
                for(int m=1;m<5;m++)
                {
                        for(int n=1;n<=m;n++)
                        {
                                System.out.print(n+"*"+m+"="+n*m+"\t");//使用制表符使数字对齐  比空格看着舒服
                        }
                        System.out.println();

                }
        }

}

作者: 唐增友    时间: 2012-6-13 23:10
  1. public class Demo {

  2.         public static void main(String[] args) {
  3.                 int i=1,k=1;
  4.                 while(i<=9)
  5.                 {
  6.                         if(k<=i)
  7.                         {System.out.print(i+"*"+k+"="+i*k+"\t");k++;}
  8.                         else
  9.                         {
  10.                                 k=1;
  11.                                 i++;
  12.                                 System.out.println();
  13.                         }
  14.                 }
  15.         }
  16. }
复制代码

作者: 王明明    时间: 2012-6-13 23:19
唐增友 发表于 2012-6-13 23:10

这个也不错




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