Vb.net Visual Basic-计算器II编码难题

Vb.net Visual Basic-计算器II编码难题,vb.net,visual-studio-2010,Vb.net,Visual Studio 2010,这是我在《计算机科学I》[Visual Basic 2010]中发布的作业 目标: 如果尝试除以0,请修改CalculatorII案例研究以显示“错误”。“如果为单个数字输入了多个小数点,则还应显示错误 当我除以零或添加更多的小数点时,无法显示错误消息。以下是我在编码中的内容: Public Class Form1 Dim operand1 As Double = 0 Dim operand2 As Double = 0 Dim op As String = Nothing Dim newOpe

这是我在《计算机科学I》[Visual Basic 2010]中发布的作业

目标: 如果尝试除以0,请修改CalculatorII案例研究以显示“错误”。“如果为单个数字输入了多个小数点,则还应显示错误

当我除以零或添加更多的小数点时,无法显示错误消息。以下是我在编码中的内容:

Public Class Form1
Dim operand1 As Double = 0
Dim operand2 As Double = 0
Dim op As String = Nothing
Dim newOperand As Boolean = True

Private Sub Number_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles _
    btnDot.Click, btn0.Click, btn1.Click, btn2.Click, btn3.Click, btn4.Click, btn5.Click, _
    btn6.Click, btn7.Click, btn8.Click, btn9.Click
    Dim btnNumberClicked As Button = sender
    If newOperand Then
        Me.txtDisplay.Text = btnNumberClicked.Tag
        newOperand = False
    Else
        Me.txtDisplay.Text &= btnNumberClicked.Tag
    End If


End Sub


Private Sub btnClear_Click(ByVal sender As Object, ByVal e As System.EventArgs) _
    Handles btnClear.Click
    Me.txtDisplay.Text = "0"
    operand1 = 0
    operand2 = 0
    newOperand = True
    op = Nothing
End Sub

Private Sub btnOff_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles _
    btnOff.Click
    Application.Exit()
End Sub


Private Sub btnOperator_Click(ByVal sender As Object, ByVal e As System.EventArgs) _
    Handles btnPlus.Click, btnMinus.Click, btnTimes.Click, btnDivide.Click, btnEqual.Click, btnIntDivide.Click
    Dim operatorSelected As Button = sender

    If (operand1 = 0 And op = Nothing) Or op = "=" Then
        operand1 = Val(Me.txtDisplay.Text)
    ElseIf (operand1 = 0 And op = "/") Then
        MessageBox.Show("ERROR")
    Else
        operand2 = Val(Me.txtDisplay.Text)
        operand1 = Calculate(operand1, operand2, op)
        Me.txtDisplay.Text = operand1
    End If

    op = operatorSelected.Tag
    newOperand = True
End Sub


Function Calculate(ByVal firstOperand As Double, ByVal secondOperand As Double, _
                   ByVal op As String) As Double
    Select Case op
        Case "+"
            Return (firstOperand + secondOperand)
        Case "-"
            Return (firstOperand - secondOperand)
        Case "X"
            Return (firstOperand * secondOperand)
        Case "/"
            Return (firstOperand / secondOperand)
        Case "\"
    End Select
End Function

End Class
在此处输入code

操作数2必须是错误字段,您只需检查第一个操作数是否为0

改变 “
ElseIf(操作数1=0且op=“/”)然后
ElseIf(操作数2=0且op=“/”),然后


试试看:)

谢谢,它成功了。仍然停留在双“.”错误字段上。