我在C#上学的任务。我遇到了以下代码(示例)
的问题static void Main()
{
do
{
Console.Write("Amount of centimeters?: ");
double centimeters = double.Parse(Console.ReadLine());
double meters = centimeters / 100;
Console.WriteLine($"Amount of meters: {meters}");
int wholeMeters = (int)meters;
Console.WriteLine($"Amount of whole meters: {wholeMeters}");
}while (true);
}
如果结果为“全数量”给出0,我不想在控制台中显示“全数量的数量:”行。
像这样:
如何才能实现这一点,只使用'System'命名空间?
答案 0 :(得分:2)
您将非常确定在不久的将来了解控制结构。
只需检查wholeMeters
字段的值并按结果
if(wholeMeters != 0)
Console.WriteLine($"Amount of whole meters: {wholeMeters}");
答案 1 :(得分:1)
其实这是我的练习,我通过逐步实现代码找到了结果(花了我一天!!! :))
static void Main()
{
do
{
Console.Write("Timespan in seconds?: ");
int timeInSeconds;
if (int.TryParse(Console.ReadLine(), out timeInSeconds))
{
Console.WriteLine("This is:");
double amountOfDays = timeInSeconds / 86400;
if (amountOfDays != 0)
Console.WriteLine($"- {(int)amountOfDays} days");
double amountOfHours = timeInSeconds / 3600 - ((int)amountOfDays * 24);
if (amountOfHours != 0)
Console.WriteLine($"- {(int)amountOfHours} hours");
double amountOfMinuts = timeInSeconds / 60 - ((int)amountOfHours * 60) - ((int)amountOfDays * 24 * 60);
if (amountOfMinuts != 0)
Console.WriteLine($"- {(int)amountOfMinuts} minuts");
double amountOfSeconds = timeInSeconds - ((int)amountOfMinuts * 60) - ((int)amountOfHours * 60 * 60) - ((int)amountOfDays * 24 * 60 * 60);
if (amountOfSeconds != 0)
Console.WriteLine($"- {(int)amountOfSeconds} seconds");
}
else
{
Console.WriteLine("Please enter a positive integer!");
}
} while (true);
}
}
我知道我必须使用if语句,但是我在代码的开头声明了我的(双)变量,而不是在每次计算之前声明。
感谢您的帮助!