我可以在VB中使用相同的计数器进行嵌套循环
代码就像这样
For a As Integer = 1 to Console.ReadLine
For a = 1 to a
Console.WriteLine("*")
Next
Console.WriteLine()
Next
该程序设计用于绘制*的三角形,只有一个变量
VB只是禁止我再次使用嵌套循环
错误:......变量'a'由独立循环使用。
我有自己的用法,只能使用1个变量。
答案 0 :(得分:1)
将第二个FOR
循环更改为WHILE
循环的内容是什么?
For a As Integer = 1 to Console.ReadLine
Do While a <=5
Console.WriteLine("Line: " & a)
Exit Do
Loop
Next
答案 1 :(得分:1)
这是一个不同的想法。您可以考虑将整数变量拆分为2部分16位部分,将用户输入保持在高16位,将当前迭代值保存在低16位(您需要使用WHILE
而不是{ {1}})。
答案 2 :(得分:0)
事实上,如果我理解的话,你需要的是以a
的值开始你的内部计数器。你正在做的是从1开始创建另一个循环。
For a As Integer = 1 to Console.ReadLine
For b As Integer = a to 5
Console.WriteLine("Line: " & a)
Next
Next
答案 3 :(得分:0)
您不能在同一范围内声明具有相同名称的另一个变量。但内循环与外循环的范围相同。这就是你得到编译器错误的原因。
您可以使用其他名称:
Dim i As Int32
If Int32.TryParse(Console.ReadLine, i) AndAlso i > 0 Then
For a As Integer = 1 To i
For aa = 1 To i
Console.WriteLine("Line: {0} {1}", a, aa)
Next
Next
End If
答案 4 :(得分:0)
要绘制三角形,如您所述,您需要两个变量,如下所示:
For a As Integer = 1 to Console.ReadLine
For b As Integer = 1 to a
Console.Write("*")
Next
Console.WriteLine()
Next
如果你在内部循环中使用了相同的变量,内部循环将改变变量的值,这在大多数情况下不会是你想要的,并且在所有情况下都会令人难以置信地混淆。因此,VB强制您在每个嵌套的For
循环中使用不同的迭代器。