vb.net 如何在visual basic中找到5中最大的数字?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/50428863/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
How to find the largest number among 5 in visual basic?
提问by Mar Fin
I want to find it using the IF statements and NESTED IF statements. 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:
我想使用 IF 语句和 NESTED IF 语句找到它。我知道如何在 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 Charles May
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
回答by AJD
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

