2012-10-17 82 views
0

林有麻煩工作了製作使用多個潛艇複式currencys的轉換器。我不斷收到一個錯誤,這個數字是朋友,因此不能在JAP轉換使用。誰能幫忙?謝謝你提前的Visual Basic朋友錯誤

Option Explicit On 
'Option Strict On 

Imports System 

Module Yahtzed 

    Sub CANtoUSD() 
     Dim Number , USDConversion as Decimal 
     Number = Console.Readline 
     USDConversion =(Number * 1.0141) 
     Console.Writeline(USDConversion) 
    End Sub 

    Sub CANtoJAP() 
     Dim Number, JAPConversion as Decimal 
     Number = Console.Readline 
     JAPConversion =(Number * 79.9392) 
     Console.Writeline(JAPConversion) 
    End Sub 

    Sub Main() 
     Console.Writeline("Enter the CAN amount: ") 
     CANtoUSD() 
     CANtoJAP() 

    End Sub 

End Module 
+0

郵政** **確切的錯誤消息。產生該錯誤的**精確**代碼。 –

+0

BC30389:因爲它是「朋友」,這是確切的代碼「system.number」是不是在這種情況下訪問。感謝您的回覆 – user1683391

+0

您編譯的代碼中缺少一個「Dim Number」。第一個「數字」之後的空間很奇怪。重新鍵入代碼,使用「值」而不是「數字」。 –

回答

1

不是一個直接的答案,但是這需要更多的空間比將在註釋工作。

你在你的代碼中的基本的設計錯誤。你真的想要更像這樣的結構:

Function CANtoUSD(Number As Decimal) As Decimal 
    Dim USDConversion as Decimal = 1.0141 
    Return USDConversion * Number 
End Function 

Function CANtoJAP(Number As Decimal) As Decimal 
    Dim JAPConversion as Decimal = 79.9392 
    Return JAPConversion * Number 
End Function 

Sub Main() 
    Console.Writeline("Enter the CAN amount: ") 
    Dim input As Decimal = Console.ReadLine() 

    Console.WriteLine(CANtoUSD(input)) 
    Console.WriteLine(CANtoJAP(input)) 
End Sub 

你不想爲你的方法混合責任。輸入/輸出應嚴格分離操縱數據的代碼。如果不出意外,這使得它更容易測試您的具體轉換方法的工作完全一樣,他們都應該,也沒能得到你的錯誤的來源。

稍後,您將學習如何使用單一方法接受源類型和目標類型的鍵值,並通過知道轉換因子到公共表格來查找任何貨幣貨幣。

+0

謝謝喬爾!這非常有幫助! – user1683391