帮我解释一下这个程序,谢谢

帮我解释一下这个程序,谢谢,第1张

这是一个递归函数。

s 是全局变量,每调用一次left函数,当输入值为自然数的时候s值将增加1如果将s看成一个数列,则s的表达式为

s(n) = Σs(n/2)+1

我们从负数开始看得到的结果会是什么。

1当n<0时,将不会进入if语句内。

2当n = 1时,第一次代入left(1)

进入if

s自加 变成1

不满足for条件(因为1/2 = 0)

退出if

结束 s = 1

3 当n = 2时,第一次代入left(2)

进入if

s自加 变成1

进入for

进入(2/2 =1)次left

进入if

s自加 变成2

不满足for

退出if

退出for

退出if

结束 s=2

4当n = 3时,第一次代入left(3)

进入if

s自加 变成1

进入for

进入(3/2 =1)次left

进入if

s自加 变成2

不满足for

退出if

退出for

退出if

结束 s = 2

5当n = 4时,第一次代入left(4)

进入if

s自加 变成1

进入for

分别代入 left(1)和left(2),重复步骤2和步骤3

退出for

退出if

结束 s = 4

6之后取类似的过程

程序运行过程中语句label1left等于4000变为lab在控制中心的设置中调整。程序运行过程中语句label1left性能优异,功能全面全程自动化生产在体验和实用度上,有很好的实用性,质量有保证,生产工艺按现代化机械管理流程,做到全程无菌无尘在日常的生活和使用中在多方面多角度给使用者最大的保障和使用体验。

一个一个来吧。

第一个问题:

并不是LabelLeft无效,而是你API理解错了。由于你之前的代码里面是把Label放在一个Panel里面,Panel又放在了JFrame里面。而JFrame默认的布局管理器是BorderLayout,而你放入Panel时没有指定放入位置,被默认放在了JFrame的Center位。所以Panel里面的控件都跟着跑到窗口的中间了,这时候你调用LabelLeft只是把Label放在了Panel的最左边(不写这个也是如此),而Panel在JFrame的中间,所以,显示效果是居中效果。

如果你希望Label到窗口的最左边,只需要修改一句就可以了:

fadd(p, BorderLayoutWEST); // 将面板p加入到窗口f中

第二个问题:

从功能上说,两者实现的内容一样,不过记住,匿名类里面调用外部变量需要将变量设置为final。内部类本身也是一个类,需要一连串的定义,所以在监控事件特别多的时候,就会导致代码严重冗余,增加维护成本。而匿名类定义监听事件可以和控件写在一起,同时不需要类定义,可以使代码维护起来更容易一些。因此,一般情况下,我们都会使用匿名类来监听事件。

第三个问题:

Label属于AWT的范畴,JLabel和其他以J开头的控件都属于Swing。后者属于前者的扩展,同时也自成一家。AWT对系统依赖较高,不太适合跨平台;Swing所有控件均是运行库自带,与平台无关,运行在哪个系统上都是一个效果(PS:一样的丑),所以适合跨平台。

分类: 电脑/网络 >> 程序设计 >> 其他编程语言

问题描述:

请问VB里MSComm控件中left是什么意思,谢谢

解析:

返回指定数目的从字符串的左边算起的字符。

Left(string, length)

参数

string

字符串表达式,其最左边的字符被返回。如果 string 参数中包含 Null,则返回 Null。

Length

数值表达式,指明要返回的字符数目。如果是 0,返回零长度字符串 ("");如果大于或等于 string 参数中的字符总数,则返回整个字符串。

说明

可使用 Len 函数确定 string 参数中的字符数目。

下面的示例利用Left 函数返回MyString 的左边三个字母:

Dim MyString, LeftString

MyString = "VBSCript"

LeftString = Left(MyString, 3) 'LeftString 包含 "VBS"。

注意 LeftB 函数与包含在字符串中字节数据一起使用。length 不是指定返回的字符串数,而是字节数。

有3个数字位置是 0 1 2

第一次查找

mid = (0 + 2) / 2 = 1,比较1的位置

第二次比较,如果取mid,而不是mid-1 +1的话

mid = (0 +1 ) / 2 = 0, 比较0的位置

mid = (1+2) / 2 = 1,比较1的位置,1已经比较过了,所以不对

以上就是关于帮我解释一下这个程序,谢谢全部的内容,包括:帮我解释一下这个程序,谢谢、程序运行过程中语句label1.left=4000变为lab、java窗体程序 1、Label.LEFT无效,求方法并解答原因 2、采用匿名类和内部类区别 3、JLabel和Label区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9322471.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存