2013-03-05 16 views
1

我剛剛學習VB.NET,因此與我一起裸露。我正在嘗試創建一個程序,它接受三個數字的輸入,對它們進行平均並打印平均值。 代碼我到目前爲止有:程序無法顯示的VB.NET WriteLine

Sub Main() 
    Dim Average As Double 

    Console.WriteLine("Please input first number:") 
    Dim Num1 As String 
    Num1 = Console.ReadLine() 

    Console.WriteLine("Please input second number:") 
    Dim Num2 As String 
    Num1 = Console.ReadLine() 

    Console.WriteLine("Please input third number:") 
    Dim Num3 As String 
    Num3 = Console.ReadLine() 

    Average = (Num1 + Num2 + Num3)/3 
    Console.WriteLine("Your average is: ", Average) 
    Console.WriteLine("Press any key to exit") 
    Console.ReadLine() 
End Sub 

我輸入三個數字,然後我的程序顯示文本,「您的平均值是」但有沒有價值存在;在文本之後它只是空白。

+0

你不應該有'NUM2 =到Console.ReadLine()',而不是第二個'NUM1 =到Console.ReadLine()'? – Neolisk 2013-03-05 20:44:22

回答

3

嘗試用字符串連接

Console.WriteLine("Your average is: " + Average.ToString) 

或使用複合格式字符串

Console.WriteLine("Your average is: {0}", Average) 

See MSDN on Console.WriteLine(string, object[])

編輯:您需要在字符串輸入轉換成一個正確的號碼試圖之前對他們執行加法和除法

Dim Num1 as Integer 
While(Int32.TryParse(Console.ReadLine(), Num1) 
    Console.WriteLine("Please enter a integer number") 

' and so on for the other inputs ' 

然後,請爲自己做個忙,併爲您的項目設置Option Strict On。這種自動轉換是邪惡的。

+0

+1。我不知道'Console.WriteLine'內置了'String.Format'。 – Neolisk 2013-03-05 20:47:31

+0

是的,非常方便 – Steve 2013-03-05 20:48:26

+0

謝謝,得到了使用複合格式字符串返回值的程序。我的數學/邏輯有問題嗎?我用'10'作爲測試的三個數字,並以我的平均值返回'33670'。 – Matt 2013-03-05 20:53:10

1

我覺得這個:

Console.WriteLine("Your average is: ", Average) 

你實際上意味着這樣的:

Console.WriteLine(String.Format("Your average is: {0}", Average)) 
-1
Console.WriteLine("Please input first number:") 
Dim Num1 As String 
Num1 = Console.ReadLine() 

Console.WriteLine("Please input second number:") 
Dim Num2 As String 
Num1 = Console.ReadLine() ------ Use Num2 instead of Num1 

Console.WriteLine("Please input third number:") 
Dim Num3 As String 
Num3 = Console.ReadLine() 

Average = (Num1 + Num2 + Num3)/3 
Console.WriteLine("Your average is: ", Average) and use concat "&" here. 
Console.WriteLine("Press any key to exit") 
Console.ReadLine()