我需要用户输入他们的年龄,然后程序必须计算他们将有多少钱,当他们的年龄达到养老金。根据情况,该人员将节省500或1000。
即使我写了一个Do-While循环,我的代码也不会重复if和else语句。我应该用布尔语句吗?如何或在哪里?或者还有其他我需要看的东西?
我试着只使用'while‘,但我认为我需要使用do-while。
static void Main(string[] args)
{
Console.Write("Enter age");
string str = Console.ReadLine();
int MyAge = Convert.ToInt32(str);
int money = 15000;
{
do
{
{
if (money > 20000 || MyAge < 60)
{
Console.Write("You are saving little");
money = money + 500;
}
else
{
Console.Write("You are saving a lot");
money = money + 1000;
}
MyAge++;
}
}
while (money > 20000 && MyAge > 65);
}
Console.Write("You are retired by the age of " + MyAge + " and you saved " + money + " dollars.");
}
我预计这个程序至少会达到65岁,但它在我26岁时结束,因为我输入的是我25岁。所以它不会循环。
发布于 2019-05-26 21:40:15
您的while循环在年龄超过65岁时运行。
应为while (money > 20000 && MyAge < 65);
发布于 2019-05-28 02:21:25
如果你想点击更多的次数,当你说你25岁的时候,你需要改变while语句中的条件。它应该看起来像下面这样。
static void Main(string[] args)
{
Console.Write("Enter age");
string str = Console.ReadLine();
int MyAge = Convert.ToInt32(str);
int money = 15000;
{
do
{
{
if (money > 20000 || MyAge < 60)
{
Console.Write("You are saving little");
money = money + 500;
}
else
{
Console.Write("You are saving a lot");
money = money + 1000;
}
MyAge++;
}
}
while (money < 40000 && MyAge < 65);
}
Console.Write("You are retired by the age of " + MyAge + " and you saved " + money + " dollars.");
}
PS“钱> 20000”只是一个很小的数字,你很快就能达到它。
发布于 2019-05-28 17:38:16
解决方案是在while代码中键入||而不是&&!感谢大家的帮助!没有你我不可能做到这一点。:)
while ((MyAge < 65) || (money < 20000));
https://stackoverflow.com/questions/56313971
复制相似问题