我是初学者并学习如何使用c#进行编码。 我有一个问题,但我无法弄清楚。 这是我的问题。
因此用户需要填写一个号码。该数字由3部分组成。第一部分是3位数字,第2部分是7位数字,第3部分是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();
答案 0 :(得分:0)
看起来你正试图让我们做作业。
澄清;你的意思是Method。我想你想编写一个方法,将3个数字(int
s)作为输入,并输出true
或false
,表示数字是否正确。
要指定可以返回值的函数,返回值必须是相应的数据类型,在本例中为bool
(或Boolean
)。我假设您需要公开方法。
public bool NumberCorrect(int num1, int num2, int num3)
{
// Your number logic goes here
return (num1 + num2) % 97 == num3;
}
接下来,您可能已经看到我使用了int num1
。这是因为int
数据类型表示(整数)数字,整数。不要将数字设为string
,而是尝试通过转换或int
将其解析为TryParse()
s。 这是您的代码失败的第一部分,因为它将打印" 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)
会发出想要的结果,而你使用的方法。