我写出了一个使用多种方法的简单计算器。
这是我写的,但是有没有更好/更有效的方法来编写此代码?
建议会有所帮助。
我想使用多种方法并使主方法中的所有内容可见。我知道它看起来很愚蠢,可以用更简单的方式完成,但是我正试图向C#新手并开始学习方法的人们解释这一点。
{
Console.WriteLine("Please input two numbers");
int num1 = Convert.ToInt32(Console.ReadLine());
int num2 = Convert.ToInt32(Console.ReadLine());
int answer1 = Sum(num1, num2);
int answer2 = Sub(num1, num2);
int answer3 = Mult(num1, num2);
double answer4 = Div(num1, num2);
Console.WriteLine("Sum: {0}\n"+"Difference: {1} \n"+"Multiplication: {2} \n"+"Division: {3} \n", answer1, answer2, answer3, answer4);
}
public static int Sum(int num1, int num2)
{
return num1 + num2;
}
public static int Sub(int num1, int num2)
{
return num1 - num2;
}
public static int Mult(int num1, int num2)
{
return num1 * num2;
}
public static double Div(int num1, int num2)
{
return num1 / num2;
}
}
答案 0 :(得分:0)
您可以创建一个小菜单来选择要执行的操作。
下面的代码是一个代码示例,您可以参考它。
class Program
{
static void Main(string[] args)
{
string a = string.Empty;
do
{
Console.WriteLine("Please input two numbers");
int num1 = Convert.ToInt32(Console.ReadLine());
int num2 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Please choose the following you want to do");
Console.WriteLine("1. Add");
Console.WriteLine("2. Minus");
Console.WriteLine("3. Mult");
Console.WriteLine("4. Div");
int number = Convert.ToInt32(Console.ReadLine());
switch (number)
{
case 1:
Console.WriteLine("Your result is" + Add(num1, num2));
break;
case 2:
Console.WriteLine("Your result is" + Minus(num1, num2));
break;
case 3:
Console.WriteLine("Your result is" + Mult(num1, num2));
break;
case 4:
Console.WriteLine("Your result is" + Div(num1, num2));
break;
default:
Console.WriteLine("Please input again");
break;
}
a = Console.ReadLine();
}
while (a == "y");
}
public static int Add(int num1, int num2)
{
return num1 + num2;
}
public static int Minus(int num1, int num2)
{
return num1 - num2;
}
public static int Mult(int num1, int num2)
{
return num1 * num2;
}
public static double Div(int num1, int num2)
{
return num1 / num2;
}
}
答案 1 :(得分:-1)
我能想到的唯一可能的改进就是让那些操作员。但是现有的诚信算子运营商涵盖了所有这些情况,only works for your self-created types anyway。
与您在控制台上一样。一个带有菜单项/菜单项的do ... while循环可能对程序流程很有用。但我别无其他想法。
数学甚至是很少使用静态方法的地方,其中静态方法不会错位/过度使用。
只有一个小术语nitpick:这些是函数,而不是方法:
但是,我还没有看到一种语言,实际上在两个时代之间都没有区别。 Delphi或VB可能具有此关键字区别。