Vb.net 在制作星图程序时,真的在与子程序斗争吗
我正在尝试创建一个子过程,它绘制一系列的空格和星星,然后输出结果。用户输入他们想要的星星数量和空间数量,然后输出屏幕上绘制的星星和空间。例如,DrawStars(4,5)将输出---***** 以下是我目前的代码:Vb.net 在制作星图程序时,真的在与子程序斗争吗,vb.net,visual-studio-2010,visual-studio,visual-studio-2008,Vb.net,Visual Studio 2010,Visual Studio,Visual Studio 2008,我正在尝试创建一个子过程,它绘制一系列的空格和星星,然后输出结果。用户输入他们想要的星星数量和空间数量,然后输出屏幕上绘制的星星和空间。例如,DrawStars(4,5)将输出---***** 以下是我目前的代码: Module Module1 Sub Main() Dim Spaces As Integer = 0 Dim Stars As Integer = 0 Dim TotalChars As Integer = 0 Console.WriteLine
Module Module1
Sub Main()
Dim Spaces As Integer = 0
Dim Stars As Integer = 0
Dim TotalChars As Integer = 0
Console.WriteLine("Enter the number of spaces you want to enter")
Spaces = Console.ReadLine
Console.WriteLine("Enter the number of stars you want to enter")
Stars = Console.ReadLine
TotalChars = Spaces + Stars
DrawStars(Spaces, Stars, TotalChars)
Console.WriteLine("")
Console.ReadLine()
End Sub
Sub DrawStars(ByVal Spaces As Integer, ByVal Stars As Integer, ByVal TotalChars As Integer)
Dim Output As String
Do Until TotalChars = Stars + Spaces
If Spaces > 0 The
Output = Console.ReadLine
Else
Console.WriteLine("*")
End If
Loop
End Sub
结束模块最简单的情况是使用以下方法创建2个字符串:
上述代码不受无效输入参数的保护。您必须更改您的条件
TotalChars
已根据Main
设置为Stars+Spaces
Do Until TotalChars = Stars + Spaces '<-- Already True!
If Spaces > 0 The
Output = Console.ReadLine
Else
Console.WriteLine("*")
End If
Loop
这不应作为复制粘贴解决方案。这更像是一个例子,也是我在代码中看到的问题=)你需要两个循环,一个用于空格数,一个用于星号,只需将它们添加到相同的输出变量中;它不需要
totalchars
我想他希望它们在同一行上问题是,代码需要有空间来帮助缩进创建图片,如果需要可以跨多行。那么有没有一种方法可以方便地让用户转到下一行并继续进行,像图片一样创建?@JeffCottonBWFC添加另一个参数以指示要创建的行数repeat@JeffCottonBWFC根据您提供的问题和代码,我真的不知道您希望得到什么样的输出。您有一个输出
变量,该变量完全未使用,空格
始终为>0
。我试图让代码在用户输入行数和星数后创建一张图片。我必须获得在屏幕上绘制图像的过程,但我似乎无法使用代码来实现这一点。如果您的意思是在其中任何一个之后需要换行,只需添加Console.WriteLine()
,以回答任何一个问题……问题涉及的是空格和星形,而不是直线和星形
Do Until TotalChars = Stars + Spaces '<-- Already True!
If Spaces > 0 The
Output = Console.ReadLine
Else
Console.WriteLine("*")
End If
Loop
For i As Integer = 1 To Spaces
Console.Write(" ")
Next
For i As Integer = 1 To Stars
Console.Write("*")
Next