我的代码有什么问题?我不太确定如何解决它。它已经困扰了我好几天,我无法入睡,平静地吃饭。帮我。我要死了。我可能夸张但他们说我的帖子主要是编码,我必须添加更多细节。这还不够吗?
static void Main(string[] args)
{
dailyspend(ref totalspendf, ref totalspendc, ref totalspendcr, ref totalspendo);
}
static double dailyspend(ref double totalspendf, ref double totalspendc, ref double totalspendcr, ref double totalspendo)
{
int days;
double spendf = 0, spendc = 0, spendcr = 0, spendo = 0;
for (days = 1; days <= 7; days++)
{
Console.WriteLine("");
Console.Write("Food : ");
spendf = double.Parse(Console.ReadLine());
Console.Write("Clothing : ");
spendc = double.Parse(Console.ReadLine());
Console.Write("College related : ");
spendcr = double.Parse(Console.ReadLine());
Console.Write("Outside: ");
spendo = double.Parse(Console.ReadLine());
Console.WriteLine("");
totalspendf += spendf;
totalspendc += spendc;
totalspendcr += spendcr;
totalspendo += spendo;
}
}
答案 0 :(得分:0)
您的方法dailyspend()
指定它将返回double
,但无处调用return
。
添加return
+应返回的值。
答案 1 :(得分:0)
发生此错误是因为您的方法应返回签名中定义的double
。但是,它不会返回任何内容,因为您不提供有关要返回的值的任何信息。一个方法只能有一个或没有返回值,但我想你希望你的方法返回四个不起作用的值 - 至少不使用return
。
我假设您的方法不需要任何返回值。因此,将方法返回类型转换为void
应该对您有用。但是,您仍然需要在Main
中声明所有变量,然后才能通过引用传递它们。
static void dailyspend(ref double totalspendf, ref double totalspendc, ref double totalspendcr, ref double totalspendo)
{
int days;
for (days = 1; days <= 7; days++)
{
Console.WriteLine("");
Console.Write("Food : ");
double spendf = double.Parse(Console.ReadLine());
Console.Write("Clothing : ");
double spendc = double.Parse(Console.ReadLine());
Console.Write("College related : ");
double spendcr = double.Parse(Console.ReadLine());
Console.Write("Outside: ");
double spendo = double.Parse(Console.ReadLine());
Console.WriteLine("");
totalspendf += spendf;
totalspendc += spendc;
totalspendcr += spendcr;
totalspendo += spendo;
}
}
现在你可以这样称呼它:
double totalspendf = 0, totalspendc = 0, totalspendcr = 0, totalspendo = 0;
dailyspend(ref totalspendf, ref totalspendc, ref totalspendcr, ref totalspendo)
现在,您可以对通过引用传递的四个参数执行任何操作,例如
Console.WriteLine(totalspendf);
哪个应打印方法中为Food
所做的所有输入的总和。
答案 2 :(得分:0)
如果您已将方法声明为void
或Task
以外的其他方法,则需要确保所有可能的代码路径都有效return
,或者抛出Exception
}。
对于你的函数dailyspend
,幸运的是你只有一个可能的代码路径,所以你需要简单地在return
的任何地方添加(我想你会希望它是直接位于for
循环下方的行。