程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> do-為什麼我連續輸錯了4次就直接退出循環了,我要錯誤的情況下,一直循環下去

do-為什麼我連續輸錯了4次就直接退出循環了,我要錯誤的情況下,一直循環下去

編輯:編程綜合問答
為什麼我連續輸錯了4次就直接退出循環了,我要錯誤的情況下,一直循環下去

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Menu_switching
{
class Program
{
static void Main(string[] args)
{
int number=1,number1=2,number2=3,number3=4;
string commodity="客戶信息管理",commodity1="購物結算",commodity2="真情回饋",commodity3="注銷";
Console.WriteLine("歡迎使用MYSHOPPING管理系統");
Console.WriteLine("***********************************");
Console.WriteLine(number +"."+ commodity);
Console.WriteLine(number1 + "." + commodity1);
Console.WriteLine(number2 + "." + commodity2);
Console.WriteLine(number3 + "." + commodity3);
Console.WriteLine("***********************************");

        int figure;

        do
        {

            Console.WriteLine("請輸入數字:");
            figure = int.Parse(Console.ReadLine());
            switch (figure)
            {
                case 1:
                    Console.WriteLine(number + "." + commodity);
                    break;
                case 2:
                    Console.WriteLine(number1 + "." + commodity1);
                    break;
                case 3:
                    Console.WriteLine(number2 + "." + commodity2);
                    break;
                case 4:
                    Console.WriteLine(number3 + "." + commodity3);
                    break;
                default:
                    Console.WriteLine("輸入錯誤,請重新輸入");
                    break;

            }



        } while (figure<=5);

    }
}

}

別人告訴我,把while (figure<=5);改成while (true);就可以了,我試了一下果然可以了,但是我就是想不通原因是什麼,誰幫我分析一下,我寫的為什麼會這樣(連續錯誤4次就跳出循環了),而這個true我又搞不懂它在判斷哪個的值為true才又去執行do裡面的代碼了?

最佳回答:


首先while (figure<=5),是判斷你輸入的是不是小於等於5,只有滿足這個條件才會執行do(do...while()是先執行一次do,然後在判讀while的條件語句,所以不論你第一次輸入的什麼,循環都回執行一次)。改成while (true)之後,while得條件語句是true,也就是條件語句一直為真,所以會一直執行循環。這個true沒有判斷任何值

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved