iT邦幫忙

2021 iThome 鐵人賽

DAY 16
0
自我挑戰組

JAVA簡易教學+CPE歷屆試題講解系列 第 16

[iT鐵人賽Day16]JAVA-switch範例

今天來示範一下switch的範例
範例程式碼如下:

import java.util.*;
import static java.lang.System.*;
	public class app4_7 
	{
		public static void main(String[] args) {
		Scanner scn=new Scanner(System.in);
		System.out.print("請輸入分數 : ");
		int a = scn.nextInt();
		switch(a/10)
			{
			case 10: case 9:
			System.out.println("得到A");
			break;
			case 8:
			System.out.println("得到B");
			break;
			case 7:
			System.out.println("得到C");
			break;
			case 6:
			System.out.println("得到D");
			break;
			case 5: case 4: case 3: case 2: case 1: case 0:
			System.out.println("得到E");
			break;
			default:
			System.out.println("輸入錯誤,請輸入1~100");
			break;
			}
		return;
		}
	}

執行結果如下:
https://ithelp.ithome.com.tw/upload/images/20210916/20140567hK43g0hPmm.png
程式碼的意思是,我輸入一個分數1到100的分數,然後除以10
看可以得到ABCDE哪一個等級
一開始程式碼並不是長這樣,default不是這樣寫,也沒有case 5那段,
後來想到,如果我故意輸入超過100會怎樣,結果程式執行完,直接顯示得到E
後來就把default改成現在這樣,還加上了case 5那段
再次輸入超過100就得到了我想要的結果
但是當我輸入小於10時,又得到了"輸入錯誤,請輸入1~100"的結果
所以case 5後面又多加了一段,才改成最後這個程式碼
給大家看一下修改程式碼過程中的執行結果吧
https://ithelp.ithome.com.tw/upload/images/20210916/20140567ypr23MlXM9.png
可以看到輸入110結果得到E
修改完之後,輸入5結果輸入錯誤
修改到最後,終於輸入任何數字都可以得到相應的結果
今天就講到這了,謝謝大家


上一篇
[iT鐵人賽Day15]JAVA更多的迴圈
下一篇
[iT鐵人賽Day17]JAVA的函數(上篇)
系列文
JAVA簡易教學+CPE歷屆試題講解30

尚未有邦友留言

立即登入留言