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

VB.NET 实现返回数组最大值功能运行结果错误如何解决

问题原因

你的核心错误是条件判断逻辑中混淆了**循环索引变量i**和数组对应位置的元素值:

  • 你写的判断语句If i > maxage Then是拿循环的下标和当前最大值做对比,完全没有用到数组中存储的年龄值
  • 循环过程:
    • 初始maxage为0,i从0开始递增,i=1时1>0成立,maxage被赋值为ageList(1)即13
    • 后续i最大仅到5(数组共6个元素,索引范围0~5),5永远小于13,判断条件再也不会触发,maxage不会更新,最终固定输出13

另外额外注意:maxage初始值不要固定为0,如果数组所有元素都是负数,最终结果会出错,更严谨的写法是初始化为数组第一个元素。

修正后代码
Dim ageList() As Integer = {12, 13, 18, 11, 5, 3}
Dim maxage As Integer = ageList(0)
Dim i As Integer

For i = 0 To UBound(ageList)
    If ageList(i) > maxage Then
        maxage = ageList(i)
    End If
Next i
Console.WriteLine(maxage)
Console.ReadLine()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 02:45:05