[英]How to find the largest number among 5 in visual basic?
I want to find it using the IF statements and NESTED IF statements.我想使用 IF 语句和 NESTED IF 语句找到它。 I know how to find the largest among 3 numbers, but can't do the 5. I want to follow the same concept as the code below:
我知道如何在 3 个数字中找到最大的,但不能找到 5。我想遵循与下面代码相同的概念:
Dim number1, number2, number3, largest as integer
number1= 2
number 2= 7
number3= 14
If number1>number2 then
if number1>number 3 then
largest= number1
else
largest= number3
End If
Else If number2> number3 then
largest= number2
else
largest number3
End If
label1.text= largest
By comparing each number to largest and only assigning it if it's larger you will end up with the largest number assigned to largest.通过将每个数字与最大数字进行比较,并且仅在它较大时才分配它,您最终将获得最大数字分配给最大数字。
Dim number1, number2, number3, largest As Integer
number1 = 2
number2 = 7
number3 = 14
' if 2 > 0 then largest = 2
If number1 > largest Then largest = number1
' if 7 > 2 then largest = 7
If number2 > largest Then largest = number2
' if 14 > 7 then largest = 14
If number3 > largest Then largest = number3
label1.text = largest
The logic requires some re-thinking.逻辑需要一些重新思考。 At the moment you are using a brute force approach which, as you have already discovered, becomes more complicated the larger the original set.
目前您正在使用蛮力方法,正如您已经发现的那样,原始集合越大,该方法变得越复杂。 And your solution is not really maintainable - what if you wanted 4 numbers, 10 numbers etc, you would have to rewrite code all the time.
而且您的解决方案并不是真正可维护的 - 如果您想要 4 个数字、10 个数字等,您将不得不一直重写代码。
Modern coding languages include loops and collections to make our lives easier.现代编码语言包括循环和集合,让我们的生活更轻松。
Function MyMax(Numbers() As Long) As String
Dim largest As Long = Long.MinValue
If Numbers.Count > 0 Then ' it is ok to find the maximum from a single number!
For iterator = 0 To Numbers.Count - 1
If Numbers(iterator) > largest Then largest = Numbers(iterator)
'largest = If(Numbers(iterator) > largest, Numbers(iterator), largest) ' another way of achieving the line above
Next
Return largest.ToString
Else
Return "Error - no numbers to check!"
End If
End Function
Sub testMyMax()
Debug.Print(MyMax({2, 7, 14}))
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.