Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net &引用;确保你没有被零除;错误Visual Basic express_Vb.net - Fatal编程技术网

Vb.net &引用;确保你没有被零除;错误Visual Basic express

Vb.net &引用;确保你没有被零除;错误Visual Basic express,vb.net,Vb.net,我正在使用Visual Basic express 2010。我想创建一个程序,在给定0时询问数字并停止。然后我想检查所有这些值,以找到最小值、最大值、平均值和总和。我有以下代码: Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim total As Intege

我正在使用Visual Basic express 2010。我想创建一个程序,在给定0时询问数字并停止。然后我想检查所有这些值,以找到最小值、最大值、平均值和总和。我有以下代码:

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim total As Integer
        total = 0
        Dim average As Integer
        average = 0
        Dim loops As Integer
        loops = 0
        Dim max As Integer
        max = 0
        Dim min As Integer
        min = Val(InputBox("Give me the first number"))
        Dim number As Integer
        number = Val(InputBox("Give me a number"))
        Do Until number = 0
            loops = loops + 1
            If number < min Then
                min = number
            ElseIf number > max Then
                max = number
            End If
            total = number + total

        Loop
        average = total / loops
        MsgBox(total)
    End Sub
End Class
公共类表单1
私有子按钮1\u单击(ByVal sender作为System.Object,ByVal e作为System.EventArgs)处理按钮1。单击
将总计设置为整数
总数=0
将平均值设置为整数
平均值=0
作为整数的Dim循环
循环=0
将最大值调整为整数
最大值=0
将最小值设置为整数
min=Val(输入框(“给我第一个数字”))
整数形式的数字
number=Val(输入框(“给我一个数字”))
直到数字=0为止
循环=循环+1
如果数量<最小值,则
最小值=个数
ElseIf数>最大值
最大值=个数
如果结束
总数=数量+总数
环
平均值=总循环数/循环数
MsgBox(总计)
端接头
末级
当我按F5键时,它会显示屏幕。在前两个输入框后,程序崩溃。有什么想法吗?
看看你的循环:

Do Until number = 0
    loops = loops + 1
    If number < min Then
        min = number
    ElseIf number > max Then
        max = number
    End If
    total = number + total
Loop
由于
循环
是一个
整数
,因此它的范围相当有限。一旦它达到
MaxInt
的值,就不能再添加到它了。因此,下次添加时,您会看到一个异常

您需要修改循环中的
number
,以便它能够完成


请注意,“除以零”部分实际上不是您看到的错误消息的一部分。这只是VisualStudio向您展示的一个建议,因为除以零是此错误的常见来源。这不是这次错误的来源。

嘿,看看这段代码。你有问题,因为号码没有改变

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim total As Integer
        total = 0
        Dim average As Integer
        average = 0
        Dim loops As Integer
        loops = 0
        Dim max As Integer
        max = 0
        Dim min As Integer
        min = Val(InputBox("Give me the first number"))
        Dim number As Integer
        number = Val(InputBox("Give me a number"))
        Do Until number = 0
            loops = loops + 1
            If number < min Then
                min = number
            ElseIf number > max Then
                max = number
            End If
            total = number + total
            number = Val(InputBox("Give me a number"))
        Loop
        average = total / loops
        MsgBox(total)

    End Sub
End Class
公共类表单1
私有子按钮1\u单击(ByVal sender作为System.Object,ByVal e作为System.EventArgs)处理按钮1。单击
将总计设置为整数
总数=0
将平均值设置为整数
平均值=0
作为整数的Dim循环
循环=0
将最大值调整为整数
最大值=0
将最小值设置为整数
min=Val(输入框(“给我第一个数字”))
整数形式的数字
number=Val(输入框(“给我一个数字”))
直到数字=0为止
循环=循环+1
如果数量<最小值,则
最小值=个数
ElseIf数>最大值
最大值=个数
如果结束
总数=数量+总数
number=Val(输入框(“给我一个数字”))
环
平均值=总循环数/循环数
MsgBox(总计)
端接头
末级

number
在循环中没有变化,因此最终
循环的值将过大(溢出)。不知道它和被零除有什么关系
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim total As Integer
        total = 0
        Dim average As Integer
        average = 0
        Dim loops As Integer
        loops = 0
        Dim max As Integer
        max = 0
        Dim min As Integer
        min = Val(InputBox("Give me the first number"))
        Dim number As Integer
        number = Val(InputBox("Give me a number"))
        Do Until number = 0
            loops = loops + 1
            If number < min Then
                min = number
            ElseIf number > max Then
                max = number
            End If
            total = number + total
            number = Val(InputBox("Give me a number"))
        Loop
        average = total / loops
        MsgBox(total)

    End Sub
End Class