Console.WriteLine("Coffee sizes: 1=Small 2=Medium 3=Large");//输出并换行
        Console.Write("Please enter your selection: ");//输出不换行
        string s = Console.ReadLine();
        if (s!="")
        {
            int n = int.Parse(s);//强制转换成int
            int cost = 0;
            switch (n)
            {
                case 1:
                    cost += 25;
                    break;
                case 2:
                    cost += 50;
                    break;
                case 3:
                    cost += 50;
                    goto case 1;//...
                default:
                    Console.WriteLine("Invalid selection. Please select 1, 2, or 3.");//无效信息
                    break;
            }
            if (cost != 0)
            {
                Console.WriteLine("Please insert {0} {1}cents.", "$", cost);//{}..
                Console.ReadLine();//从标准输入到下一行字符
            }
            Console.WriteLine("Thank you for your business.");
            Console.ReadLine();
        }
        else
        {
            Console.WriteLine("please don't joke me!can you select 1, 2, or 3?");
            Console.ReadLine();
        }比如运行后,我什么都没输入,直接回车,执行else内容则提示please don't joke me!can you select 1, 2, or 3?,这个时候我怎么才能回到开头Console.Write("Please enter your selection: ");循环呢?感觉大一C语言有过这个问题,貌似忘了。。

解决方案 »

  1.   

    char c=getchar();
    while(c!='q')
    {
        swich(c)
       {
       case 'a':
          dosomthing;
          break;
       case 'b':
          dosomthing;
          break;
       }
       c=getchar();
    }
      

  2.   

    while(true)
    {
       Console.Write("Please enter your selection: ");//输出不换行
            string s = Console.ReadLine();
            if (s!="")
            {
                int n = int.Parse(s);//强制转换成int
                int cost = 0;
                switch (n)
                {
                    case 1:
                        cost += 25;
                        break;
                    case 2:
                        cost += 50;
                        break;
                    case 3:
                        cost += 50;
                        goto case 1;//...
                    default:
                        Console.WriteLine("Invalid selection. Please select 1, 2, or 3.");//无效信息
                        break;
                }
                if (cost != 0)
                {
                    Console.WriteLine("Please insert {0} {1}cents.", "$", cost);//{}..
                    Console.ReadLine();//从标准输入到下一行字符
                }
                Console.WriteLine("Thank you for your business.");
                Console.ReadLine();
            }
            else
            {
                Console.WriteLine("please don't joke me!can you select 1, 2, or 3?");
                Console.ReadLine();
            }
    }