黑马程序员技术交流社区

标题: 99乘法表会写代码 但是不知道啥意思呀 [打印本页]

作者: happyburglar    时间: 2016-6-26 23:19
标题: 99乘法表会写代码 但是不知道啥意思呀
教学视频里面分析了一堆  但是好像听不太懂  写类似代码的时候还是不知道怎么分析啊,怎么破?
作者: 坏坏坏男孩    时间: 2016-6-26 23:21
我也是.看了好久没看明白....
作者: suming    时间: 2016-6-26 23:36
我看明白了 但是自己弄就不会了
作者: 迅雷    时间: 2016-6-26 23:39
这个需要编程思想,自己写分析,步骤,独立从头做一遍代码,思考很重要
99乘法表就是for的嵌套循环,外循环代表的是行数,内循环是列数
当外循环的数为变量值为1时,也就是乘法表的第一行,输出效果应该是什么
外循环变量值是2的话,这一行输出是什么,找出规律
作者: lizihanglove    时间: 2016-6-26 23:42
外层循环控制行,里层循环控制列;
尽量观察规律:
1*1=1
1*2=2 2*2 = 4
1*3=3 2*3 =6 3*3 =9
………………………………
可以发现:
1、第一个数代表列数,第二个数代表行数;
2、第一个数总是小于等于第二个数;
发现规律就好些代码了。
作者: 紫电_恶魔    时间: 2016-6-26 23:47
楼上已经解释的很清楚了,多敲敲代码就知道了
作者: 紫电_恶魔    时间: 2016-6-26 23:48
迅雷 发表于 2016-6-26 23:39
这个需要编程思想,自己写分析,步骤,独立从头做一遍代码,思考很重要
99乘法表就是for的嵌套循环,外循环代表 ...

恩,这孩子写的不错,继续水,不要停
作者: a327201899    时间: 2016-6-26 23:52
这个要了解for循环的.
      99乘法主要是在第二个循环上的控制条件语句上!
作者: happyburglar    时间: 2016-6-27 06:42
迅雷 发表于 2016-6-26 23:39
这个需要编程思想,自己写分析,步骤,独立从头做一遍代码,思考很重要
99乘法表就是for的嵌套循环,外循环代表 ...

谢谢回复   写的很好   继续学习吧
作者: 貂裘换酒    时间: 2016-6-27 09:11
  1. int num=0;
  2.         for(int i=1;i<10;i++){
  3.                 for(int j=1;j<i+1;j++){
  4.                         num=i*j;
  5.                         System.out.print(num+"="+i+"*"+j+"\t");
  6.                 }
  7.                 System.out.println(" ");
  8.         }
复制代码

作者: dreakteasnow    时间: 2016-6-27 10:30
简单来说就是通过两个for循环来处理行和列,通过观察可以发现每行改变的都是第一个数,第二个数随着行数的增加而增加,那么第一个for循环用来控制行数,第二个for循环用来控制第一位的数.接着通过观察发现第一个数的最大值与行数的关系为两者相等且递增,那么就可以写出这两条for循环:
for(int i=1;i<10;i++){
  for(int j=1;j<i+1;i++){
   }
}

作者: 涟漪不起    时间: 2016-6-27 10:35
两个for循环。里面的for负责输出,外面的负责换行。
可以这么理解
作者: Ake丶    时间: 2016-6-27 10:52
慢慢来,按照逻辑走。
作者: syinys7    时间: 2016-6-27 18:23
99乘法表其实是for循环嵌套的一个具体体现.
你只要记住一句话就好,

外循环控制行数,内循环控制列数

以后不管是冒泡排序或者高级排序都很好理解
作者: 940752944    时间: 2016-6-27 22:21
自己用笔把循环跑一次就知道思想了
作者: lsp0523    时间: 2016-6-27 22:51
一种循环输出的表达方式,对于我们理解循环嵌套来说很有用。
作者: 狂战斧    时间: 2016-6-27 22:54
(程序分析:分行与列考虑,共9行9列,i控制行,j控制列。)for(int i=1;i<10;i++){                         for(int j=1;j<i+1;j++)                                 System.out.print(j+"*"+i+"="+(j*i)+" ");




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