找回密碼 或 安全提問
 註冊
|註冊|登錄

伊莉討論區

搜索
感激所有對伊莉作出奉獻的人發表文章前請先閱讀相關版規尊貴會員無限下載附件
火影忍者七龍珠偷拍柯南3d3dgd
クロア×金光juq 436和鬼王當[免空貼鐵匠車神

休閒聊天興趣交流學術文化旅遊交流飲食交流家庭事務PC GAMETV GAME
熱門線上其他線上感情感性寵物交流家族門派動漫交流貼圖分享BL/GL
音樂世界影視娛樂女性頻道潮流資訊BT下載區GB下載區下載分享短片
電腦資訊數碼產品手機交流交易廣場網站事務長篇小說體育運動時事經濟
上班一族博彩娛樂

余家儀 衣服直接滑下

[繁]怪物轉生 Re:Mons

(4月新番)[繁]魔王學

河南商丘 男子不滿店

[繁]迷宮飯 - 15

(4月新番)[繁]Re:Mon
C & C++ 語言C# 語言Visual Basic 語言PHP 語言JAVA 語言
查看: 4404|回復: 5
打印上一主題下一主題

[求助]這題 我會寫 但要用另一種方法該怎寫...[複製鏈接]

Rank: 1

帖子
269
積分
188 點
潛水值
22380 米
跳轉到指定樓層
樓主
發表於 2016-11-1 06:53 PM|只看該作者|倒序瀏覽
若對尊貴或贊助會員有任何疑問,歡迎向我們查詢。我們的即時通或MSN: admin@eyny.com
期中考快到了 好心的老師有建議我們要學會哪一些  這題 我會用 if else  跟switch case 來寫
可是 我 switch case 只會用 像是圖片裡的那種  可是 他說不能用這種方式  但一定要用 switch case 來寫...
請問另一種方式該怎麼寫!
附件: 你需要登錄才可以下載或查看附件。沒有帳號?註冊
分享分享0收藏收藏0支持支持0
所有積分大於負-100的壞孩子,將可獲得重新機會成為懲罰生,權限跟幼兒生一樣。

使用道具檢舉

Rank: 1

帖子
76
積分
193 點
潛水值
4402 米
頭香
發表於 2016-11-1 11:55 PM|只看該作者
若瀏覽伊莉的時侯發生問題或不正常情況,請使用Internet Explorer(I.E)。
本帖最後由 跨越青春嶺 於 2016-11-2 12:12 AM 編輯

我的智商只能到這了........
  1. using System.Linq;
  2. var numberList = new List<string>
  3. {
  4.     "0","1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
  5.     "11", "12", "13", "14", "15", "16", "17", "18", "19", "20"
  6. };
  7. var spring = "春";
  8. var summer = "夏";
  9. var fall = "秋";
  10. var winter = "冬";
  11. var season = string.Empty;
  12. var rndResult = numberList.OrderBy(n => Guid.NewGuid()).FirstOrDefault();
  13. switch (rndResult)
  14. {
  15.     case "3":
  16.         season = spring;
  17.         break;

  18.     case "4":
  19.         season = spring;
  20.         break;

  21.     case "5":
  22.         season = spring;
  23.         break;

  24.     case "6":
  25.         season = summer;
  26.         break;

  27.     case "7":
  28.         season = summer;
  29.         break;

  30.     case "8":
  31.         season = summer;
  32.         break;

  33.     case "9":
  34.         season = fall;
  35.         break;

  36.     case "10":
  37.         season = fall;
  38.         break;

  39.     case "11":
  40.         season = fall;
  41.         break;

  42.     case "12":
  43.         season = winter;
  44.         break;

  45.     case "1":
  46.         season = winter;
  47.         break;

  48.     case "2":
  49.         season = winter;
  50.         break;

  51.     default:
  52.         season = "無此季節";
  53.         break;
  54. }
  55. MessageBox.Show($"隨機數:{rndResult},季節:{season}");
複製代碼
...
瀏覽完整內容,請先 註冊登入會員

使用道具檢舉

Rank: 2Rank: 2

帖子
541
積分
212 點
潛水值
13707 米
3
發表於 2016-11-2 09:38 AM|只看該作者
若有安裝色情守門員,可用無界、自由門等軟件瀏覽伊莉。或使用以下網址瀏覽伊莉: http://www.eyny.com:81/index.php
這個方式是先用if else分組再用switch case,我想這個不會比直接用if else來的簡潔,但是要求依定要用switch case,這個在數值範圍很大時也還算是可以應用,算是一個參考的方向吧!
  1.     public static class Program
  2.     {
  3.         static void Main(string[] args)
  4.         {
  5.             int[] a = { 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2 };
  6.             for (int i = 0; i <= 13; i++)
  7.             {
  8.                 switch (a.SeasonIndexOf(i))
  9.                 {
  10.                     case 1:
  11.                         Console.WriteLine(i.ToString() + "月是春季");
  12.                         break;
  13.                     case 2:
  14.                         Console.WriteLine(i.ToString() + "月是夏季");
  15.                         break;
  16.                     case 3:
  17.                         Console.WriteLine(i.ToString() + "月是秋季");
  18.                         break;
  19.                     case 4:
  20.                         Console.WriteLine(i.ToString() + "月是冬季");
  21.                         break;
  22.                     default:
  23.                         Console.WriteLine(i.ToString() + "無此季節");
  24.                         break;
  25.                 }
  26.             }
  27.             Console.ReadKey();
  28.         }

  29.         public static int SeasonIndexOf(this int[] a, int x)
  30.         {
  31.             int resolt = 0;
  32.             for (int i=0; i < a.Count(); i++)
  33.             {
  34.                 if (x==a[i])
  35.                 {
  36.                     if (i <= 2) resolt = 1;
  37.                     else if (i <= 5) resolt = 2;
  38.                     else if (i <= 8) resolt = 3;
  39.                     else resolt = 4;
  40.                 }
  41.             }
  42.             return resolt;
  43.         }
  44.     }
複製代碼
這個也是我有限的智商可以想到的...
瀏覽完整內容,請先 註冊登入會員

使用道具檢舉

Rank: 1

帖子
61
積分
49 點
潛水值
26770 米
4
發表於 2016-11-2 04:52 PM|只看該作者
不知道您的老師為何不允許用圖片的方法,那樣其實較簡潔,如果要把題目做大一點,下面給您參考

先建二個enum
  1. enum EnumMonth
  2. {
  3.             Jan=1,
  4.             Feb=2,
  5.             Mar=3,
  6.             Apr=4,
  7.             May=5,
  8.             Jun=6,
  9.             Jul=7,
  10.             Aug=8,
  11.             Sep=9,
  12.             Oct=10,
  13.             Nov=11,
  14.             Dec=12
  15. }
  16. enum Season
  17.         {
  18.             春天,
  19.             夏天,
  20.             秋天,
  21.             冬天
  22. }
複製代碼
再建一個函式
  1. static string GetSeason(int m)
  2. {
  3.             EnumMonth month = (EnumMonth)m;
  4.             switch (month)
  5.             {
  6.                 case EnumMonth.Mar:
  7.                     return Season.春天.ToString();
  8.                 case EnumMonth.Apr:
  9.                     return Season.春天.ToString();
  10.                 case EnumMonth.May:
  11.                     return Season.春天.ToString();
  12.                 case EnumMonth.Jun:
  13.                     return Season.夏天.ToString();
  14.                 case EnumMonth.Jul:
  15.                     return Season.夏天.ToString();
  16.                 case EnumMonth.Aug:
  17.                     return Season.夏天.ToString();
  18.                 case EnumMonth.Sep:
  19.                     return Season.秋天.ToString();
  20.                 case EnumMonth.Oct:
  21.                     return Season.秋天.ToString();
  22.                 case EnumMonth.Nov:
  23.                     return Season.秋天.ToString();
  24.                 case EnumMonth.Dec:
  25.                     return Season.冬天.ToString();
  26.                 case EnumMonth.Jan:
  27.                     return Season.冬天.ToString();
  28.                 case EnumMonth.Feb:
  29.                     return Season.冬天.ToString();
  30.                 default:
  31.                     return "";
  32.             }
  33. }
複製代碼
在主程式呼叫函式
  1. int m = 0;
  2. while (true)
  3. {
  4.                 Console.Write("請輸入月份:");
  5.                 if (int.TryParse(Console.ReadLine(), out m)) break;
  6. }
  7. if (string.IsNullOrWhiteSpace(GetSeason(m)))
  8. {
  9.                 Console.WriteLine(m + "月,沒有這個月份");
  10. }
  11. else
  12. {
  13.                 Console.WriteLine(m + "月為" + GetSeason(m));
  14. }
複製代碼
或許您可以問清楚老師的用意...
瀏覽完整內容,請先 註冊登入會員

點評

asdfg0205 謝謝你 每次我問了問題 您都會回答我 謝謝!!!  發表於 2016-11-2 05:31 PM
成為伊莉的版主,你將獲得更高級和無限的權限。把你感興趣的版面一步步地發展和豐盛,那種滿足感等著你來嚐嚐喔。

使用道具檢舉

Rank: 1

帖子
76
積分
193 點
潛水值
4402 米
5
發表於 2016-11-3 12:25 AM|只看該作者
本帖最後由 跨越青春嶺 於 2016-11-4 08:45 AM 編輯

告訴老師我盡力了.........
  1. using System;
  2. using System.Collections.Generic;

  3. namespace test
  4. {
  5.     internal class Program
  6.     {
  7.         private static void Main(string[] args)
  8.         {
  9.             var seasonList = new List<List<string>>
  10.                 {
  11.                     new List<string>() { "3", "4", "5" },
  12.                     new List<string>() { "6", "7", "8" },
  13.                     new List<string>() { "9", "10", "11" },
  14.                     new List<string>() { "12", "1", "2" }
  15.                 };
  16.             while (true)
  17.             {
  18.                 var inputMonth = Console.ReadLine();
  19.                 switch (seasonList.FindIndex(s => s.Contains(inputMonth)))
  20.                 {
  21.                     case 0:
  22.                         Console.WriteLine("春季");
  23.                         break;

  24.                     case 1:
  25.                         Console.WriteLine("夏季");
  26.                         break;

  27.                     case 2:
  28.                         Console.WriteLine("秋季");
  29.                         break;

  30.                     case 3:
  31.                         Console.WriteLine("冬季");
  32.                         break;

  33.                     default:
  34.                         Console.WriteLine("無此季節");
  35.                         break;
  36.                 }
  37.             }
  38.         }
  39.     }
  40. }
複製代碼

補充內容 (2016-11-14 10:24 PM):
結果大神在6樓...
瀏覽完整內容,請先 註冊登入會員





點評

theloserbm 進來給個讚  發表於 2016-11-14 07:35 PM
rr09192084 這個好,怎麼沒想到呢?  發表於 2016-11-4 12:24 PM

使用道具檢舉

Rank: 1

帖子
252
積分
187 點
潛水值
24460 米
6
發表於 2016-11-14 05:46 PM|只看該作者
成為伊莉的版主,你將獲得更高級和無限的權限。把你感興趣的版面一步步地發展和豐盛,那種滿足感等著你來嚐嚐喔。
int month
string seasons = "冬春春春夏夏夏秋秋秋冬冬";
string answer = seasons[month-1];
錯誤判斷就自己加吧

點評

theloserbm 說好的switch case呢...?  發表於 2016-11-14 07:35 PM

使用道具檢舉

您需要登錄後才可以回帖 登錄 | 註冊

Powered by Discuz!

© Comsenz Inc.

重要聲明:本討論區是以即時上載留言的方式運作,對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者發現有留言出現問題,請聯絡我們。有權刪除任何留言及拒絕任何人士上載留言,同時亦有不刪除留言的權利。切勿上傳和撰寫 侵犯版權(未經授權)、粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。
回頂部