做-不会重复

时间:2019-05-26 13:33:59

标签: c#

我需要用户输入年龄,然后程序必须计算出他们的年龄达到退休金时将要拥有的资金。该人将根据情况节省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岁,但要等到我输入25岁时才26岁。因此它不会循环。

4 个答案:

答案 0 :(得分:0)

您的while循环在年龄超过65岁时运行。

应为while (money > 20000 && MyAge < 65);

答案 1 :(得分:0)

这很好:

  

我删除了money > 20000,因为此条件将永远无法满足

 public static void Main()
        {
            int MyAge = 25;
            int money = 15000;
            do
            {
                if (money > 20000 || MyAge < 60)
                {
                    Console.WriteLine("You are saving little");
                    money = money + 500;
                }
                else
                {
                    Console.WriteLine("You are saving a lot");
                    money = money + 1000;
                }
                MyAge++;
            }
            while (MyAge < 65);
            Console.Write("You are retired by the age of " + MyAge + " and you saved " + money + " dollars.");
        }

答案 2 :(得分:0)

如果您想打更多次,则当您说自己25岁时,需要在while语句中更改条件。在下面看起来应该像这样。

    $scope.openModal = function() {
        $uibModal.open({
            templateUrl: '../../../pages/component/modal.html',
            controller: function($scope, $uibModalInstance) {
                $scope.savePlayer = function(player) {
                    $scope._player = player;
                    $uibModalInstance.close();
                };
                $scope.cancel = function() {
                    $uibModalInstance.dismiss('cancel');
                }
            }
        })
    }; 

PS“ money> 20000”数量很少,您可以很快达到它。

答案 3 :(得分:0)

解决方案是键入||。而不是&&在while代码中!谢谢大家的帮助!没有你,无法做到这一点。 :)

                while ((MyAge < 65) || (money < 20000));