Vb.net 无效值未中断,结果未显示
我的VB.NET程序给了我两个错误:Vb.net 无效值未中断,结果未显示,vb.net,while-loop,Vb.net,While Loop,我的VB.NET程序给了我两个错误: 当我输入负值或0时,它不会中断 它没有显示总值 有人能帮我解决这个问题吗 Enter deposit amount: 300 Another (y or n)? y Enter deposit amount: -1 Amount cannot be zero or negative. 我的代码: Module Module1 Sub Main() Dim userResponse As Char Dim depositAmount A
Enter deposit amount: 300
Another (y or n)? y
Enter deposit amount: -1
Amount cannot be zero or negative.
我的代码:
Module Module1
Sub Main()
Dim userResponse As Char
Dim depositAmount As Decimal
Dim totalDeposits As Decimal
Dim depositCount As Integer
Dim averageDeposit As Decimal
depositCount = 0
totalDeposits = 0
While Not (userResponse = "n")
Console.WriteLine("Enter Desposit Amount:")
If (depositAmount < 0 And depositAmount = 0) Then
Console.WriteLine("Amount cannot be zero or negative.")
Else
depositAmount = Console.ReadLine()
Console.WriteLine("Another (y or n)?")
userResponse = Console.ReadLine()
totalDeposits = totalDeposits + depositAmount
depositCount = depositCount + 1
averageDeposit = totalDeposits / depositCount
End If
End While
Console.WriteLine(" Total deposits: " + totalDeposits.ToString)
Console.WriteLine(" Number of deposits: " + depositCount.ToString)
Console.WriteLine("Average deposit: " + averageDeposit.ToString)
End Sub
End Module
模块1
副标题()
Dim userResponse作为Char
将存款金额设置为十进制
将存款总额设置为十进制
将存款计数设置为整数
Dim Average存款为十进制
存款计数=0
存款总额=0
而不是(userResponse=“n”)
Console.WriteLine(“输入存款金额:”)
如果(存款金额<0且存款金额=0),则
Console.WriteLine(“金额不能为零或负。”)
其他的
depositAmount=Console.ReadLine()
Console.WriteLine(“另一个(y或n)?”)
userResponse=Console.ReadLine()
存款总额=存款总额+存款金额
存款计数=存款计数+1
Average存款=存款总额/存款计数
如果结束
结束时
Console.WriteLine(“存款总额:+totalDeposits.ToString”)
Console.WriteLine(“存款数量:+depositCount.ToString”)
Console.WriteLine(“平均存款:+averageDeposit.ToString”)
端接头
端模块
您可以尝试:如果(存款金额<0或存款金额=0),从我看到的值不能同时为负和零 您可以尝试:如果(存款金额<0或存款金额=0),从我看到的值不能同时为负和零
当我输入负值或0时,它不会中断。
它没有显示总值
您在编码时未启用选项,并试图将字符串隐式转换为十进制。此外,在用户输入存款金额之前,您还要检查存款金额
试着这样做:
Module Module1
Sub Main()
Dim userResponse As Char
Dim depositAmount As Double
Dim totalDeposits As Double
Dim depositCount As Integer
Dim averageDeposit As Double
depositCount = 0
totalDeposits = 0
While Not (userResponse = "n")
Console.WriteLine("Enter Desposit Amount:")
'Attempt to convert readline to double. if it's successful GoodResponse
'is true and depositamount has the value entered, otherwise it's 0
Dim GoodResponse As Boolean = Double.TryParse(Console.Readline(), depositAmount)
If Not GoodResponse OrElse depositAmount <=0 Then
depositAmount = 0
Console.WriteLine("Amount must be a number and cannot be zero or negative.")
End If
Console.WriteLine("Another (y or n)?")
userResponse = Console.ReadLine()
totalDeposits = totalDeposits + depositAmount
depositCount = depositCount + 1
averageDeposit = totalDeposits / depositCount
End If
End While
模块1
副标题()
Dim userResponse作为Char
存款金额加倍
存款总额为双倍
将存款计数设置为整数
平均存款为双倍
存款计数=0
存款总额=0
而不是(userResponse=“n”)
Console.WriteLine(“输入存款金额:”)
'尝试将readline转换为double。如果成功的话,你会有很好的反应
'为true,并且存款金额具有输入的值,否则为0
Dim GoodResponse As Boolean=Double.TryParse(Console.Readline(),depositAmount)
如果没有,请回复或支付存款金额
当我输入负值或0时,它不会中断。
它没有显示总值
您在编码时未启用选项,并试图将字符串隐式转换为十进制。此外,在用户输入存款金额之前,您还要检查存款金额
试着这样做:
Module Module1
Sub Main()
Dim userResponse As Char
Dim depositAmount As Double
Dim totalDeposits As Double
Dim depositCount As Integer
Dim averageDeposit As Double
depositCount = 0
totalDeposits = 0
While Not (userResponse = "n")
Console.WriteLine("Enter Desposit Amount:")
'Attempt to convert readline to double. if it's successful GoodResponse
'is true and depositamount has the value entered, otherwise it's 0
Dim GoodResponse As Boolean = Double.TryParse(Console.Readline(), depositAmount)
If Not GoodResponse OrElse depositAmount <=0 Then
depositAmount = 0
Console.WriteLine("Amount must be a number and cannot be zero or negative.")
End If
Console.WriteLine("Another (y or n)?")
userResponse = Console.ReadLine()
totalDeposits = totalDeposits + depositAmount
depositCount = depositCount + 1
averageDeposit = totalDeposits / depositCount
End If
End While
模块1
副标题()
Dim userResponse作为Char
存款金额加倍
存款总额为双倍
将存款计数设置为整数
平均存款为双倍
存款计数=0
存款总额=0
而不是(userResponse=“n”)
Console.WriteLine(“输入存款金额:”)
'尝试将readline转换为double。如果成功的话,你会有很好的反应
'为true,并且存款金额具有输入的值,否则为0
Dim GoodResponse As Boolean=Double.TryParse(Console.Readline(),depositAmount)
如果没有很好的回复或者没有存款金额非常感谢问题解决了:)非常感谢问题解决了:)