用VB制作九九乘法表是VB编程入门的经典练习之一,通过九九乘法表的制作,可以有效掌握ForNext循环的用法,还能非常直观的观察每一次循环的过程,加深对分步骤ForNext循环的理解。本课程的案例通过Access数据库呈现,课程讲解分为5个部分: 1.完整代码 2.需求讲解 3.代码讲解 4.视频讲解 5.课后作业
学完课程实现的效果— 1 —完整代码
简单九九乘法表的完整VBA代码(基于Access数据库)如下:
- Private Sub Text1_AfterUpdate()
- '两次循环,i循环和j循环(但注意i是第2个乘数,j是第1个乘数)
- 'i循环换行,j循环做行
- '九九乘法表非常好的演示了每次循环过程,很直观,少有的好案例
- Dim i As Integer
- Dim j As Integer
- Dim Str As String
- Str = "" '设定文本起始量为空格
- For i = 1 To Val(Nz(Text1, 1)) '设置第2个乘数,第1层循环
-
- For j = 1 To i '设置第1个乘数,第2层循环
-
- Str = Str & j & "x" & i & "=" & i * j & " "
-
- '设置每一行的乘法表,注意j在前,i在后
- '注意每次会降j循环结束后,再进行下一次i循环
- 'j循环次数由i取值决定
-
- Next
- Str = Str + vbCrLf
- 'i循环一次,增加一次回车换行
- Next
- Text2 = Str '将生成的结果赋值给Text2
- Me.Refresh '要实时刷新
- End Sub
复制代码
本案例用Access数据库制作的窗体— 2 —需求讲解 1.用Access数据库制作一个交互的窗体,增添必要的组件,便于人机交互。
2.第一个文本框里输入数字,可以控制九九乘法表的行数。
3.第二个文本框里,显示九九乘法表的生成结果。
— 3 —代码讲解
九九乘法表的基本设计思路:利用两个ForNext循环,大循环i套小循环j,小循环j生成每一行的乘法和结果,大循环i生成各列。构思巧妙、代码简洁、便于理解。
首先,设置变量,i和j是两个循环用的变量,Str是字符串,显示在文本框Text2里用的。 - Dim i As Integer
- Dim j As Integer
- Dim Str As String
- Str = "" '设定文本起始量为空格
复制代码
设置变量i循环从1开始,循环到窗体里文本框Text1输入的数字。
j循环从1开始循环到i的数值。注意,要等每次j全部循环完毕,才进行i的下一次循环。这也是ForNext嵌套的规律和巧妙之处。 - For i = 1 To Val(Nz(Text1, 1)) '设置第2个乘数,第1层循环
-
- For j = 1 To i '设置第1个乘数,第2层循环
-
- Str = Str & j & "x" & i & "=" & i * j & " "
-
- '设置每一行的乘法表,注意j在前,i在后
- '注意每次会降j循环结束后,再进行下一次i循环
- 'j循环次数由i取值决定
-
- Next
- Str = Str + vbCrLf
- 'i循环一次,增加一次回车换行
- Next
复制代码
j循环算式,就是九九乘法的每一行,可以仔细观察这段代码,规律性很强,并不难理解。我们看看每次循环都会发生什么:
第一次循环,i=1,然后:
i=1,j=1,Str=1x1=1
第二次循环,i=2,然后:
j=1 to 2
Str=1x2=2(j=1的情况)j第1次循环,紧接着j会进行第2次循环
Str=1x2=2 2x2=4(j=2的情况,两个算式中间有个空格)注意:j这两个循环是紧挨着的,j循环完毕才进行下一次i循环。
每次j循环结束后,生成了一行算式,然后在i循环里(注意不是j循环),对字符串Str加一次回车操作,Str=Str+vbCrLf,不然乘法算式会挤在一起不好看。VB语言里换行用的是vbCrLf。
本案例有两个文本框,一个输入数字用、一个输出结果用以此循环往复,第一个文本框输入数字几,i就进行几次循环。 - Text2 = Str '将生成的结果赋值给Text2
- Me.Refresh '要实时刷新
复制代码最后把得到的输出结果显示在Text2里作为答案。
Text1输入数字用,Text2输出答案用。
|