VB嵌套循环输出重复值问题:期望连续序列却得重复结果
循环输出不符合预期的问题解决方法
你的问题出在嵌套循环逻辑和计数器的使用方式上:
- 外层循环从1到2执行2次,每次内层循环都会重新从1到2运行,所以输出重复的1,2
- 你定义的
count变量在每次内层循环里都会被重新初始化,而且只是赋值x+1却未用于输出,完全起不到连续计数的作用
要得到连续的1,2,3,4,需要将计数器放在循环外部,让它在每次循环时持续递增:
修改后的代码:
' 初始化计数器为起始值,转换为整数类型避免类型错误 Dim count As Integer = CInt(from.Text) ' 外层循环控制轮次 For i As Integer = CInt(from.Text) To CInt(too.Text) ' 内层循环控制每轮的次数 For x As Integer = CInt(from.Text) To CInt(perfloor.Text) MsgBox(count) count += 1 ' 每次输出后计数器自增 Next Next
说明:
- 将
count定义在所有循环外部,确保它的值不会在每次内层循环时被重置 - 每次执行内层循环时,先输出当前的
count,再让它加1,四次循环后就会依次输出1,2,3,4 - 用
CInt()转换是因为Text属性返回字符串,直接赋值给整数变量可能引发类型错误
内容的提问来源于stack exchange,提问作者Gerry
相关产品推荐
相关产品推荐

