2016-11-24 144 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) 

会发出通缉的结果,你使用的方法