我试图在我的每个方法中使用我的三个变量(num1,num2和oper),但我无法在我的书或互联网上的任何地方找到这样做的方法。我意识到在我的程序准备好之前还有很多工作要做,我会在学习的时候清理它。现在我只需要知道将变量导入不同方法的代码,我不需要修复或改进代码。我希望这是有道理的,我对此很新,请原谅我的无知并忍受我。非常感谢您的阅读!
public class SimpleCalc
{
public double SimpleCalc(double num1, double num2, string oper)
{
Console.Write("Enter first integer: ");
num1 = Convert.ToDouble(Console.ReadLine());
Console.Write("Enter operator (+,-,*, / or %)");
oper = Convert.ToString(Console.ReadLine());
Console.Write("Enter second integer: ");
num2 = Convert.ToDouble(Console.ReadLine());
if (oper == "+");
return addNumbers();
if (oper == "-");
return subtractNumbers();
if (oper == "*");
return multiplyNumbers;
if (oper == "/");
return divideNumbers;
}
public double addNumbers()
{
Console.Write("The answer is: ", num1 + num2);
}
public double subtractNumbers()
{
Console.Write("The answer is: ", num1 - num2);
}
public double multiplyNumbers()
{
Console.Write("The answer is: ", num1 * num2);
}
public double divideNumbers()
{
Console.Write("The answer is: ", num1 / num2);
}
}
答案 0 :(得分:2)
简单地将它们声明为参数的最简单方法:
public double addNumbers(double num1, double num2)
{
return num1 + num2;
}
public double subtractNumbers(double num1, double num2)
{
return num1 - num2;
}
public double multiplyNumbers(double num1, double num2)
{
return num1 * num2;
}
public double divideNumbers(double num1, double num2)
{
return num1 / num2;
}
并将参数传递给其他函数,如下所示:
if (oper == "+")
return addNumbers(num1, num2);
if (oper == "-")
return subtractNumbers(num1, num2);
if (oper == "*")
return multiplyNumbers(num1, num2);
if (oper == "/")
return divideNumbers(num1, num2);
请注意,我修改了您的方法,因为它们需要返回一个值。我还修改了if
语句,因为在每个条件之后你有一个分号,这实际上导致一个空条件,然后立即无条件返回。
但是,如果您确实需要在类中存储状态变量并在多个方法中重用它们,则应使用fields或properties(通常由字段支持)。