我是C#的新手,我正在尝试制作一个计算器。在Python(我更熟悉)中,您只需import math
然后写出您想要用数学做什么。
但是使用C#,这是我的代码:
using system;
namespace Calculator
{
class MainClass
{
public static void Main(string[] args)
{
divide(2,3);
}
public static void add(int num01, int num02)
{
Console.WriteLine("The result is " + num01+num02);
Console.ReadKey();
}
public static void multiply(int num01, int num02)
{
Console.WriteLine("The result is " + num01 * num02);
Console.ReadKey();
}
public static void divide(double num01, double num02)
{
Console.WriteLine("The result is " + num01 / num02);
Console.ReadKey();
}
public static void subtract(int num01, int num02)
{
Console.WriteLine("The result is " + num01 - num02);
Console.ReadKey();
}
}
}
如果我尝试添加,它首先给出23,并抛出语法错误(运算符' - '不能应用于'string'和'int'类型的操作数。)如果我尝试减去。
我只是这种语言的新手,所以我可能犯了一些愚蠢的错误。
答案 0 :(得分:6)
这种混淆来自于+
的两个角色之间的混淆:
您可以通过在表达式周围放置括号来解决此问题。
但是,更好的方法是使用字符串格式或string interpolation而不是连接,这样可以完全避免这个问题:
Console.WriteLine("The result is {0}", num01 - num02); // Formatting
或
Console.WriteLine($"The result is {num01 - num02}"); // Interpolation
答案 1 :(得分:4)
将您的最终计算转换为类似的字符串。
Console.WriteLine("The result is " + (num01 - num02).ToString());
或者只是用括号括起来
Console.WriteLine("The result is " + (num01 - num02));
答案 2 :(得分:0)
只需按()
。
namespace Calculator
{
class MainClass
{
public static void Main(string[] args)
{
divide(2, 3);
}
public static void add(int num01, int num02)
{
Console.WriteLine("The result is " + (num01 + num02));
Console.ReadKey();
}
public static void multiply(int num01, int num02)
{
Console.WriteLine("The result is " + (num01 * num02));
Console.ReadKey();
}
public static void divide(double num01, double num02)
{
Console.WriteLine("The result is " + (num01 / num02));
Console.ReadKey();
}
public static void subtract(int num01, int num02)
{
Console.WriteLine("The result is " + (num01 - num02));
Console.ReadKey();
}
}
}
答案 3 :(得分:0)
在Java和C#等强类型语言中,操作顺序非常重要。像许多人已经回答的那样,你首先将字符串添加到第一个数字,然后尝试从字符串中减去。
这是您的代码正在做的事情:
1. "The result is " + num01 - num02
2. "The result is (value of num01)" - num02
3. Error when trying to subtract
将其改为此
Console.WriteLine("The result is " + (num01 - num02));
您的代码执行如下:
1. "The result is " + (num01 - num02)
2. "The result is " + (difference of num01 and num02)
3. "The result is (difference of num01 and num02)"
希望这有帮助