黑马程序员技术交流社区

标题: 打印乘法表好像错了 [打印本页]

作者: L番茄X    时间: 2015-5-16 15:33
标题: 打印乘法表好像错了
/*
    外循环控制行,
    内循环控制列,
*/
class Demo{
public static void main(String[]args){
//外循环.
   for(int i = 1 ;i <=9 ; i++){
//内循环.其实我一直还是迷迷糊糊的不懂j<=i,
     for (int j = 1 ; j <=i ;j++){
System.out.println(y+"*"+x"="+(y*x));
    }
}
}
}

作者: kingowe    时间: 2015-5-16 18:06
对于循环:如果楼主理解不了,可以自己找张纸,把程序运行过程与结果写下来,写着写着就明白了
作者: L番茄X    时间: 2015-5-16 19:27
kingowe 发表于 2015-5-16 18:06
对于循环:如果楼主理解不了,可以自己找张纸,把程序运行过程与结果写下来,写着写着就明白了 ...

是这样吗?
作者: kingowe    时间: 2015-5-16 20:09
L番茄X 发表于 2015-5-16 19:27
是这样吗?

对于一个比较简单的程序,如果看不懂有三步: 1. 搞懂程序流程, 2. 试数(把一个数带进去) 3. 按着流程自己走一遍(在纸上写程序运行过程 与结果)
作者: 二大爷    时间: 2015-5-16 21:05
内循环打印语句应该把ln去掉         在外循环加上一句System.out.println();
作者: 黄冬    时间: 2015-5-16 21:17
for (int a = 1;a<=9 ;a++ )
        {
                for (int b = 1;b<=a ;b++ )
                {
                        System.out.print(b+"*"+a+"="+a*b+"\t"); //九九乘法表,用制表符隔开
                }
                System.out.println();
        }

作者: 814326663    时间: 2015-5-16 21:17

/*
    外循环控制行,
    内循环控制列,
*/
class Demo{
public static void main(String[]args){
//外循环.
   for(int i = 1 ;i <=9 ; i++){
//内循环.j<=i,
     for (int j = 1 ; j <=i ;j++){
System.out.print(y+"*"+x"="+(y*x));
    }
System.out.println();
}
}
}
j<=i  你可以这样理解  就是乘法表的列数与行数相等或者比行数少,
作者: youngzk    时间: 2015-5-16 21:21
我也是  总是记不住该怎么使用  循环
作者: L番茄X    时间: 2015-5-16 21:40
黄冬 发表于 2015-5-16 21:17
for (int a = 1;a

有时候我就是不知道打印语句放在for循环语句里还是放在for外面
作者: 代码搬运1号    时间: 2015-5-16 23:06
多试几次就知道了
作者: 黑马LM    时间: 2015-5-16 23:09
背着 敲二十遍 就知道了
作者: roybill    时间: 2015-5-17 00:01
我刚开始也是这样,我就回去重复看那个代码,把两个for循环的执行步骤写下来,慢慢去领悟!
作者: 南方小道士    时间: 2015-5-17 00:02
反复地敲代码
作者: 林思奇    时间: 2015-5-17 00:07
内循环用print,外循环用println换行
作者: Im海洋    时间: 2015-5-17 10:10
  1. //改进后的九九乘法表
  2. class Test2{
  3.                                         //main方法这里String[] args,中间有个空格
  4.         public static void main(String[] args)
  5.         {
  6. //外循环控制行数
  7.                   for(int i = 1 ;i <=9 ; i++)
  8.                 {
  9. //改变内循环的判断条件控制列数,j<=i(可以理解为列数随着行数而变化)
  10.                      for (int j = 1 ; j <=i ;j++)
  11.                         {
  12.                                 System.out.print(j+"*"+i"="+j*i+"\t");//正确的乘法表的输出方式,注意,在后面把制表符"\t"加上
  13.                            }
  14.                         System.out.println();
  15.                 }
  16.         }
  17. }
复制代码

作者: 纯情花心男    时间: 2015-5-17 13:33
kingowe 发表于 2015-5-16 18:06
对于循环:如果楼主理解不了,可以自己找张纸,把程序运行过程与结果写下来,写着写着就明白了 ...

在内循环打印的最后面加"\t"
作者: gainn    时间: 2015-5-17 14:18
你把for后面括号里的i替换成x,j替换成y就行了。
作者: 黯然残影    时间: 2015-5-17 18:08
内循环从1开始,j<=i;控制内循环次数等于行数,这样行数和列数总是一样的,外循环(行数)加1,内循环循环次数(列数)加1。打印语句有错误,是i和j不是x,y;少了个+连接符。
作者: yas丶    时间: 2015-5-17 18:12
多敲两遍就会了
作者: qq853636281    时间: 2015-5-17 18:50
内循环就是,第一次j=1,条件控制是小于i,很好理解的嘛
作者: 追梦德鲁    时间: 2015-5-17 21:35
一步步来 吧 开始总会觉得难点
作者: L番茄X    时间: 2015-5-17 21:36
追梦德鲁 发表于 2015-5-17 21:35
一步步来 吧 开始总会觉得难点

不能慢啊.再慢时间就没有了
作者: 彭越    时间: 2015-5-17 21:51
woqujiandan
作者: 灞波儿奔    时间: 2015-5-17 21:54
本帖最后由 灞波儿奔 于 2015-5-17 22:03 编辑

  楼主 你这个System.out.println(y+"*"+x"="+(y*x));有问题
正确的是这样的System.out.println(y+"*"+x+"="+(y*x));
修改后就可以正确打印99乘法表了。
作者: L番茄X    时间: 2015-5-17 21:57
灞波儿奔 发表于 2015-5-17 21:54
楼主 你这个System.out.println(y+"*"+x"="+(y*x));有问题
正确的是这样的System.out.print(y+"*"+x+"= ...

那个是换行跟不换行的问题.在下面已经留了换行符的
作者: L番茄X    时间: 2015-5-17 21:59
灞波儿奔 发表于 2015-5-17 21:54
楼主 你这个System.out.println(y+"*"+x"="+(y*x));有问题
正确的是这样的System.out.print(y+"*"+x+"= ...

那个是换行跟不换行的问题.在下面已经留了换行符的
作者: 守株人    时间: 2015-5-17 22:08
外循环就是控制行,内循环就是控制列
作者: 杨海林    时间: 2015-5-17 22:35
外循环控制行,内循环控制列,你在纸上找找行与列的关系不就清楚了吗??
作者: guojiadui    时间: 2015-5-18 09:23
运行过就不知道是否错了吗




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