【发布时间】:2015-08-22 17:13:46
【问题描述】:
我从 C# 开始,一般是编码。
我尝试编写基于控制台的三项式计算器,但是我在主方法(Calculate 和DisplayResult)中的最后两个方法的参数方面遇到了问题。
Visual Studio 一直在说:
没有给出与所需形式相对应的参数 参数。
谁能帮帮我?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TrinomialCalculator
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Trinomial Calculator");
Console.WriteLine("====================");
Console.ReadLine();
Console.Clear();
GetValues();
Calculate();
DisplayResult();
}
static int[] GetValues()
{
int[] values = new int[3];
string numInput;
Console.WriteLine("ax^2+bx+c");
Console.WriteLine("=========");
Console.ReadLine();
while (true)
{
Console.WriteLine("Enter an integer for 'a': ");
numInput = Console.ReadLine();
int.TryParse(numInput, out values[0]);
Console.WriteLine("Enter an integer for 'b': ");
numInput = Console.ReadLine();
int.TryParse(numInput, out values[1]);
Console.WriteLine("Enter an integer for 'c': ");
numInput = Console.ReadLine();
int.TryParse(numInput, out values[2]);
if (values[0] == 0 || values[1] == 0 || values[2] == 0)
{
Console.WriteLine("One or more inputs are invalid. Try again.");
Console.ReadLine();
Console.Clear();
continue;
}
else
{
break;
}
}
Console.WriteLine("{0}x^2+{1}x+{2}", values[0], values[1], values[2]);
Console.ReadLine();
Calculate(values);
return values;
}
public static double[] Calculate(int[] values)
{
double[] result = new double[2];
result[0] = -values[1] + Math.Sqrt(values[1] ^ 2 - 4 * values[0] * values[2]);
result[1] = -values[1] - Math.Sqrt(values[1] ^ 2 - 4 * values[0] * values[2]);
DisplayResult(result);
return result;
}
static void DisplayResult(double[] result)
{
Console.WriteLine("X(1)={0}\n X(2)={1}", result[0], result[1]);
Console.ReadKey();
}
}
}
【问题讨论】:
-
是的,两者都非常有帮助。谢谢你。但是,现在我很难理解为什么我在计算方法中的方程一直给我“NaN”......我怀疑这与 C# 无法在同一方法中处理 int 和 double 有关。