为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 C# 中的 if-else 语句中插入一个循环?

如何在 C# 中的 if-else 语句中插入一个循环?

C#
慕运维8079593 2022-12-24 10:58:33
我正在尝试完成我的一种作业,它应该要求一个十进制数。如果用 . 而不是 ,文本“你需要按照瑞典标准用 (,) 写你的十进制数”。这里我希望程序循环返回,因此用户必须重试,直到用 (,) 输入十进制数。在此之后,程序将询问您要将其四舍五入到多少位小数。但目前我的程序只是输出你需要使用的文本,根据瑞典标准,后面跟着文本“你想将它四舍五入到多少小数”,如果错误则不循环第一个语句。我目前尝试更改一些内容,但通常会导致程序崩溃。我目前使用“else break;” 到地方和代码未完成但功能。需要更多代码来完成我的任务,但目前卡在循环问题上static void Main(string[] args)        {            double value1;            int round1;            while (true)            {                Console.Write("Enter a decimal-number: ");                string StrValue = Console.ReadLine();                bool success = Double.TryParse(StrValue, out value1);                if (!success)                {                    Console.WriteLine("You need to use (,) as decimal-sign according to Swedish standard!"); //From here I want a loop if . is used instead of ,                }                Console.Write("With how many decimal-numbers do you want to round it down to?: ");                string StrRound = Console.ReadLine();                bool success1 = Int32.TryParse(StrRound, out round1);                if (!success1)                {                    Console.WriteLine("Only use whole numbers when rounding");                }                else break;            }        }    }}我希望程序在第一个语句之后循环,但我不知道为什么它没有以及我应该如何解决这个问题!
查看完整描述

1 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

用 while 循环替换 if 条件,试试这个:


static void Main(string[] args)

    {

        double value1;

        int round1;


        while (true)

        {

            Console.Write("Enter a decimal-number: ");

            string StrValue = Console.ReadLine();


            bool success = Double.TryParse(StrValue, out value1);

            while (!success)

            {

                 Console.WriteLine("You need to use (,) as decimal-sign according to Swedish standard!"); //From here I want a loop if . is used instead of ,

                 StrValue = Console.ReadLine();

                 success = Double.TryParse(StrValue, out value1);

            }


            Console.Write("With how many decimal-numbers do you want to round it down to?: ");

            string StrRound = Console.ReadLine();


            bool success1 = Int32.TryParse(StrRound, out round1);

            if (!success1)

            {

                Console.WriteLine("Only use whole numbers when rounding");

            }

            else break;

        }

    }


}


查看完整回答
反对 回复 2022-12-24
  • 1 回答
  • 0 关注
  • 89 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信