已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。
昨天关门了。
社区正在审查是否从昨天开始重新讨论这个问题。
Improve this question
enter image description here我是相当新的代码,但我有下面的代码,大部分工作,但我需要它说“你有{0}鸡蛋,等于{1}打和{2}鸡蛋剩余。”当它只有一个鸡蛋剩余和鸡蛋时,超过一个剩余。目前它只说“鸡蛋”剩余,我不知道如何改变这一点?
using System;
using System.Diagnostics.Eventing.Reader;
namespace Q2
{
public class Q2
{
static void Main()
{
// Keep the following line intact
Console.WriteLine("===========================");
// Insert your solution here.
int totaleggs = 0;
Console.Write("Enter the number of chickens: ");
int Chickens = Convert.ToInt32(Console.ReadLine());
for (int i = 0; i < Chickens; i++)
{
Console.Write("Eggs: ");
int egg = Convert.ToInt32(Console.ReadLine());
if (egg > 0)
{
totaleggs += egg;
Console.WriteLine("You have {0} eggs which equals {1} dozen and {2} eggs left over.", totaleggs, (int)(totaleggs / 12), totaleggs % 12);
Console.ReadLine();
}
else if (totaleggs % 12 ==1)
{
Console.WriteLine("You have {0} eggs which equals {1} dozen and {2} egg left over.", totaleggs, (int)(totaleggs / 12), totaleggs % 12);
Console.ReadLine();
}
else
{
Console.WriteLine("You have {0} eggs which equals {1} dozen and {2} eggs left over.", totaleggs, (int)(totaleggs / 12), totaleggs % 12);
Console.ReadLine();
}
}
// Keep the following lines intact
Console.WriteLine("===========================");
}
}
}
4条答案
按热度按时间w8f9ii691#
在你的代码中,你的第一个
if
子句是这样的:这意味着,只要
egg
是一个非零的正整数,那么您就执行iff***的主体并忽略它后面的所有else
语句***。您需要在
egg > 0
条件之前检查totaleggs % 12 == 1
条件。你的
for
循环需要看起来像这样:旁注:你不需要写
(int)(totaleggs / 12)
,因为totaleggs / 12
做的是完全相同的事情。如果我写这篇文章,我会做一些更像这样的事情:
kqhtkvqz2#
“* 目前它只写着‘鸡蛋’剩下,我不知道如何改变这一点??*”
改变这种情况的一种方法是计算所有需要写入的内容,然后只写一次:
**注意:**这样,如果您需要更改句子,只需更改一次。
“谁能告诉我,我做错了什么?”
您错误地使用了
if/else if
,因为您只会在鸡的蛋数少于1个时才检查剩余的蛋数(* 即 * 如果第一个条件-egg > 0
-是false
)。让代码正常工作的一种变化较小的方法是将
else if
部分 * 移到 * 第一个if
中,* 即 * 更改以下内容:为此:
或者,如果你仍然想在没有鸡蛋的情况下打印一些东西,只需将
else if
更改为if
(仍然从第一个if
删除打印):sauutmhj3#
如果你想得到这样的东西(据我所知)。
那么有几个选择。
选项1(最佳方式):
这是一句俏皮话,如果,可能看起来很难,但当理解。然后会爱他们。
学习链接:https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/operators/conditional-operator
选项2是相同的,但“凌乱”的变种
代码:
备选案文2:
代码:
agyaoht74#
你可能希望for循环的内容是这样的:
这是相当自我解释。
这可能是写在一个更优雅的方式,但你应该得到的想法。