我是C#的初学者,试图创建一个控制台应用程序,它接受用户输入并计算它们。我试过评论的方式,但它不起作用,但其余的。请解释 。任何关于更有效地做这件事的建议都值得赞赏。谢谢。
Console.WriteLine("Enter First Digit");
int input1 = int.Parse(Console.ReadLine());
Console.WriteLine("Enter Second Digit");
int input2 = int.Parse(Console.ReadLine());
/* The following code doesn't work.
* Console.WriteLine("Total = " + input1 + input2);
* Console.Readline();
*/
int sum = input1 + input2;
Console.WriteLine("Total = " + sum);
Console.ReadLine();
答案 0 :(得分:2)
您必须将(
和)
放在input1 + input2
之间,否则会将其添加为tring。
Console.WriteLine("Total = " + (input1 + input2));
Console.ReadLine();
<小时/> 为了完整起见,您应该使用
int.TryParse
代替int.Parse
TryParse
会告诉您string
是否可以转换为int
。如果用户输入数据不是整数,则下面的代码将正常工作,但您的工作将会中断。
int input1 = 0;
Console.WriteLine("Enter First Digit");
if (!int.TryParse(Console.ReadLine(), out input1))
{
Console.WriteLine("Your first data is not an interger");
Console.ReadLine();
return;
}
int input2 = 0;
Console.WriteLine("Enter Second Digit");
if (!int.TryParse(Console.ReadLine(), out input2))
{
Console.WriteLine("Your second data is not an interger");
Console.ReadLine();
return;
}
Console.WriteLine("Total = " + (input1 + input2));
Console.ReadLine();
答案 1 :(得分:1)
我看到了问题。当你这样做时:
Console.WriteLine("Total = " + input1 + input2);
编译器从左到右读取并首先看到一个字符串,并决定进行字符串连接,因此结果vi可能是:(如果输入1 = 3且输入2是4 :) &#34;总计= 34&#34;
这是因为编译器&#34;翻译&#34;这句话进入
Console.WriteLine("Total = " + input1.ToString() + input2.ToString() );
现在,如果您指示编译器再次思考,您只需在Maths中执行操作,强制编译器将input1 + input2视为单个表达式:
Console.WriteLine("Total = " + (input1 + input2));
我希望有帮助:)
答案 2 :(得分:0)
那里有拼写错误
/* The following code doesn't work.
* Console.WriteLine("Total = " + input1 + input2);
* Console.Readline();
*/
Readline而不是ReadLine()
答案 3 :(得分:0)
首先,你应该使用TryParse,以防用户输入其他数字
Console.WriteLine("Enter First Digit");
if(!int32.TryParse (Console.ReadLine(),out input1))
{
Console.WriteLine ("Wrong Number!");
}
第二个号码的相同评论
关于你得到的错误,你可以使用string.Format,它会让你的代码更清晰:
Console.WriteLine(string.Format ("Total = {0}", input1 + input2);
Console.Readline();
整个代码:
static void Main(string[] args)
{
Calc();
}
static void Calc()
{
int input1, input2;
Console.WriteLine("Enter First Digit");
if (!Int32.TryParse(Console.ReadLine(), out input1))
{
Console.WriteLine("Wrong Number!");
return;
}
Console.WriteLine("Enter Second Digit");
if (!Int32.TryParse(Console.ReadLine(), out input2))
{
Console.WriteLine("Wrong Number!");
return;
}
Console.WriteLine(string.Format("Total = {0}" , input1 + input2));
Console.ReadLine();
}