隨機獲取題目中的試題號(注意函式的要求上下界包不包含)

萬里無雲便是我發表於2017-04-21

問題:

隨機獲取題目中的試題號(輸入邊界值25就不執行了)

程式碼:

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

namespace 張晴晴
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] arrayKT = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,25};//定義題庫裡面的試題
         
                Console.WriteLine("請輸入您將要抽取的題目數量:");
                int n = int.Parse(Console.ReadLine());
                string s = test.getKTH(n, arrayKT);//類名引用靜態方法
                Console.WriteLine("你抽取的題號是:" + s);
                  
            Console.ReadKey();
        }
    }
    class test
    {

        public static string getKTH(int n, params int[] arrayKT)
        {
            if (n > arrayKT.Length)
            {
                //Console.WriteLine("您輸入的題目數目超出題庫中的題目總數。");
                return "您輸入的題目數目超出題庫中的題目總數。";
            }
            else
            {
               
                string str ="";
                Random r = new Random();
                
                while(n>0)
                {
                    int sj = r.Next(0, 25);
                    if (arrayKT[sj] != 0)//隨機數不是重複的題號
                    {
                        if (n >= n - 1)
                        {
                            str = str.Insert(str.Length,arrayKT[sj].ToString());
                            str=str.Insert(str.Length,",");
                        }
                          
                        else
                        {
                            str.Insert(0, arrayKT[sj].ToString());//最後一個後面沒有必要再加逗號
                        
                        }
                        
                        arrayKT[sj] = 0;
                        n--;//選出來一個數後減一個

                    }
                    else//隨機數有重複的題號
                    {
                        sj = r.Next(0, 25);//再選一次
                    }
                }
                return str;
            }

        }
    }
}


執行結果:




相關文章