【问题标题】:Visual Basic - Write number that is bigger than number/numbers before itVisual Basic - 写入大于之前的数字/数字的数字
【发布时间】:2015-09-19 01:43:28
【问题描述】:

我是 Visual Basic 新手,我有一些任务困扰了我很长时间。我不认识任何可以向我寻求建议的人,所以我希望这里有一些好人至少给我一个线索来解决这个问题。

请注意,我对此很陌生,请不要对我粗鲁。我需要一些“写比前面的数字/数字大的数字”的例子。 我的英语不是很熟练,所以我不能很好地解释或搜索示例。

重点是我有 6 个值,我需要对其进行测试并将其写入列表框,值女巫大于它之前的所有值(而不是它之后的所有值)

Public Class Form1

    Private strClasses(5) As String


    Private Sub Buttonaddarray_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Buttonaddarray.Click
        clearlist()

        strClasses(0) = Val(InputBox("Unesite visinu prvog covjeka"))
        strClasses(1) = Val(InputBox("Unesite visinu drugog covjeka"))
        strClasses(2) = Val(InputBox("Unesite visinu treceg covjeka"))
        strClasses(3) = Val(InputBox("Unesite visinu cetvrtog covjeka"))
        strClasses(4) = Val(InputBox("Unesite visinu petog covjeka"))
        strClasses(5) = Val(InputBox("Unesite visinu sestog covjeka"))


        For i As Integer = 0 To strClasses.Length - 1
            listarray.Items.Add(strClasses(i))

        Next
    End Sub

    Private Sub clearlist()
        listarray.Items.Clear()
    End Sub

    Private Sub Buttonsort_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Buttonsort.Click
        clearlist()

        Dim a As Integer = strClasses(0)
        Dim b As Integer = strClasses(1)
        Dim c As Integer = strClasses(2)
        Dim d As Integer = strClasses(3)
        Dim f As Integer = strClasses(4)
        Dim g As Integer = strClasses(5)



        listarray.Items.Add("Blagajnik vidi ljude sledećih visina")

        listarray.Items.Add(a)

        If b > a Then
            listarray.Items.Add(b)
        End If
        If c > a And c > b Then
            listarray.Items.Add(c)
        End If
        If d > a And d > b And d > c Then
            listarray.Items.Add(d)
        End If
        If f > a And f > b And f > c And f > d Then
            listarray.Items.Add(f)
        End If
        If g > a And g > b And g > c And g > d And g > f Then
            listarray.Items.Add(g)
        End If



    End Sub


End Class

【问题讨论】:

  • 所以,要清楚一点,您是说您有一组用户输入的数字,您想对它们进行排序并按升序显示?
  • 不对它们进行排序,只是为了显示大于之前所有数字的数字。例如:如果我输入 1 2 1 5 6 程序应该显示 1 2 5 6 如果我输入 10 5 6 9 11 程序应该显示 10 11 希望你能理解我。而不是你的回复:)
  • 听起来你想在运行所有值时保持运行的最高值。
  • 类似的东西。但是我在网上找不到任何有用的关于我的语言的东西,而且我不知道如何用英语输入它:(
  • 天哪,我刚刚注意到我所有的值都设置为 strClasses(0)。现在我明白为什么它不起作用了。

标签: vb.net basic


【解决方案1】:

这应该会返回您正在寻找的结果。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    Dim strClasses(5) As Integer
    strClasses(0) = 1
    strClasses(1) = 2
    strClasses(2) = 1
    strClasses(3) = 5
    strClasses(4) = 6

    Debug.Print(maxOutArray(strClasses))

    strClasses(0) = 10
    strClasses(1) = 5
    strClasses(2) = 6
    strClasses(3) = 9
    strClasses(4) = 11

    Debug.Print(maxOutArray(strClasses))

End Sub

Private Function maxOutArray(values() As Integer) As String
    Dim currentHightest As Integer

    Dim returnVal As String = String.Empty

    For Each parseInt As Integer In values
        If parseInt > currentHightest Then
            currentHightest = parseInt
            returnVal = String.Concat(returnVal, " ", currentHightest)
        End If
    Next
    Return returnVal

End Function

【讨论】:

    猜你喜欢
    • 2015-06-02
    • 1970-01-01
    • 1970-01-01
    • 2014-01-21
    • 2022-01-08
    • 2022-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多