2016-11-24 130 views
1

我是初學者,學習如何用c#編寫代碼。 我有一個問題,但我無法弄清楚。 這是我的問題。檢查nummer是否正確

所以用戶需要填寫一個數字。該號碼由3部分組成。第一部分是3位數字,第二部分是7位數字,第三部分是2位數字。這就是數字的樣子:001-2157858-72。 我的申請必須檢查我的號碼是否正確,如果我將前兩部分除以97,餘數爲 等於第3部分(0012157858/97)= 125 338,則r = 74(不正確)。如果不是那麼這個號碼是錯誤的。

我必須使用一種方法。 這是我的代碼,但我不工作,我沒有使用一種方法。有人可以幫我:

  string strPart1, strPart2, strPart3; 
     string strNumber = ""; 


     Console.Write("Part 1: "); 
     strPart1 = Console.ReadLine(); 
     Console.Write("Part 2: "); 
     strPart2 = Console.ReadLine(); 
     Console.Write("Part 3: "); 
     strPart3 = Console.ReadLine(); 

     strNumber = strPart1 + strPart2; 


     Console.Write(strNumber); 



     if (strNumber % 97 == strPart3) 
     { 
      Console.Write("Corect number"); 
     } 
     else 
     { 
      Console.Write("Wrong number"); 
     } 

     Console.ReadKey(); 
+2

用模運算符'%'使用名爲'strSomething'的變量應該在頭部觸發一個紅燈 - 字符串沒有模數(模數?)。 –

+0

等待你使用%模量進行字符串...查看轉換或解析爲數字值。 –

+1

*這是我的代碼,但我不工作*不是有用的消息 – Sehnsucht

回答

0

看起來你試圖讓我們做你的作業。

澄清;你的意思是一個Method。我想你想寫一個方法,將3個數字(int s)作爲輸入,並輸出truefalse,表示數字是否正確。

要指定一個可以返回值的函數,返回值必須是相應的數據類型,在此例中爲bool(或Boolean)。讓我假設你需要該方法公開。

public bool NumberCorrect(int num1, int num2, int num3) 
{ 
    // Your number logic goes here 
    return (num1 + num2) % 97 == num3; 
} 

接下來,您可能已經看到我使用了int num1。這是因爲int數據類型表示一個(整數)數字,一個整數。嘗試通過轉換或TryParse() ing將它們解析爲int s,而不是將它們編碼爲string這是代碼失敗的第一部分,因爲它將打印「xxyyyy」而不是x和y的總和。

int number1, number2, number3; 
bool ParseSuccess = System.Int32.TryParse(strPart1, number1); 
//The line above will try to cast strPart1 to number 1 (as a number), and if it fails 
//ParseSuccess will be false. 

如果你設置好一切以您的需求,呼籲

bool correct = NumberCorrect(number1, number2, number3); 
Console.WriteLine(correct) 

會發出通緝的結果,你使用的方法