You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Visual Basic编写星号矩形绘制程序的代码问题求助

问题分析
  • 核心逻辑缺失:仅编写了一层控制行数的外层循环,没有嵌套控制列数的内层循环,定义的columns变量全程未被调用,列数配置完全没有生效,导致每行只能输出1个星号,无法匹配自定义列数
  • 健壮性不足:直接将文本框的字符串类型Text属性赋值给Integer类型变量,存在类型不匹配风险,用户输入非数字内容时会触发运行错误
修复方案

需要在外层的行循环内部,嵌套一层列循环,每行输出指定数量的星号后再换行。同时补充输入校验逻辑提高代码健壮性。
修复后的代码如下:

Private Sub cmdProcess_Click(sender As Object, e As EventArgs) Handles cmdProcess.Click
    Dim rows As Integer
    Dim columns As Integer

    ' 输入合法性校验
    If Not Integer.TryParse(txtRow.Text, rows) OrElse Not Integer.TryParse(txtColumn.Text, columns) Then
        lbloutput.Text = "请输入有效的数字作为行/列数"
        Return
    End If
    If rows <= 0 OrElse columns <= 0 Then
        lbloutput.Text = "行/列数必须为正整数"
        Return
    End If

    lbloutput.Text = ""
    ' 外层循环控制行数
    For i = 1 To rows
        ' 内层循环控制当前行的星号数量(列数)
        For j = 1 To columns
            lbloutput.Text &= "*"
        Next
        ' 单行星号输出完成后再统一换行
        lbloutput.Text &= vbCrLf
    Next

End Sub

内容的提问来源于stack exchange,提问作者Fitzgerald Chambwa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 06:39:01