2013-12-23 41 views
-1

我需要将变量存储为+, - ,/,*,的帮助。我无法弄清楚,我相当地是一个noob。我把它通过一个控制台应用程序上Vb.net我遇到了一个错误,我的基本计算器

Module Module1 

Sub Main() 
    Do 
     Dim UserInput As Object = Nothing 
     Dim UserInputNum1 As Object = Nothing 
     Dim UserInputNum2 As Object = Nothing 
     Dim UserAnswer As Object = Nothing 

     Console.WriteLine("Slect Your First Number") 
     UserInputNum1 = Console.ReadLine() 
     Console.WriteLine("You Slected: " & UserInputNum1) 
     Console.ReadLine() 

     Console.WriteLine("Slect Your Second Number") 
     UserInputNum2 = Console.ReadLine() 
     Console.WriteLine("You Slected: " & UserInputNum2) 
     Console.ReadLine() 

     Console.WriteLine("Would You Like To + - * /") 
     UserInput = Console.ReadLine() 
     Console.WriteLine("You Slected: " & UserInput) 
     Console.ReadLine() 

     If UserInput = + Then 
      UserAnser = UserInputNum1 + UserInputNum2 
     End If 

     If UserInput = - Then 
      UserAnser = UserInputNum1 - UserInputNum2 
     End If 

     If UserInput = * Then 
      UserAnser = UserInputNum1 * UserInputNum2 
     End If 

     If UserInput =/Then 
      UserAnser = UserInputNum1/UserInputNum2 
     End If 

     Console.WriteLine(UserInputNum1 & " " & UserInput & " " & UserInputNum2 & " = " & UserAnswer) 
     Console.ReadLine() 
    Loop 
End Sub 

End Module 
+2

你的称号VB的方式说,有一个错误。什么是错误? – LarsTech

+0

有没有真正的问题? –

+1

尝试在你的If语句中引入运算符的引号:'如果UserInput =“+”Then'等等也习惯于正确转换数据类型 - VB.NET可以是马虎,可以让你做'UserAnswer = UserInputNum1 + UserInputNum2',但利用.NET的强类型特性,而不是对象使用正确的数据类型 - 比如'Dim UserAnswer As Double'和'UserAnswer = CType(UserInputNum1,Double)+ CType(UserInput2,Double )' – Tim

回答

2

一种选择是使用Console.ReadKey()来获取输入,然后使用M选中Case块来处理它。看看这有助于:

Module Module1 

Sub Main() 
    Do 
     Dim UserInput As Char = Nothing 
     Dim UserInputNum1 As Object = Nothing 
     Dim UserInputNum2 As Object = Nothing 
     Dim UserAnswer As Object = Nothing 

     Console.WriteLine("Slect Your First Number") 
     UserInputNum1 = Console.ReadLine() 
     Console.WriteLine("You Slected: " & UserInputNum1) 
     Console.ReadLine() 

     Console.WriteLine("Slect Your Second Number") 
     UserInputNum2 = Console.ReadLine() 
     Console.WriteLine("You Slected: " & UserInputNum2) 
     Console.ReadLine() 

     Console.WriteLine("Would You Like To + - * /") 
     UserInput = Console.ReadKey().KeyChar 
     Console.WriteLine(UserInput) 
     Console.ReadLine() 
     Select Case UserInput 
      Case "+"c 
       UserAnser = UserInputNum1 + UserInputNum2 

      Case "-"c 
       UserAnser = UserInputNum1 - UserInputNum2 

      Case "*"c 
       UserAnser = UserInputNum1 * UserInputNum2 

      Case "/" 
       UserAnser = UserInputNum1/UserInputNum2 

     Console.WriteLine(UserInputNum1 & " " & UserInput & " " & UserInputNum2 & " = " & UserAnswer) 
     Console.ReadLine() 
    Loop 
End Sub 

End Module 

c在一个字符串的结尾是表示一个1个字符串作为字符

相关问题