Java語言基礎----if~else 練習/switch~case練習

說明:1.凡是可以使用switch-case的結構,都可以轉換成if-else。反之,不成立。
2.寫分支結構時,當發現既能使用switch-case又能使用if-else時(並且,switch的取值不多的情況下),優先選擇switch-case。因爲執行效率高

if-else 練習1

我家狗狗5歲了,5歲相當於人類年齡多大呢?其實,狗的前兩年每一年相當於人類的10.5歲,之後每增加一年,增加4歲。那麼5歲的狗狗相當於人類年齡的多少呢?

import java.util.Scanner;

class DagTest{
	public static void main (String[] args){
		Scanner scan = new Scanner(System.in);
		System.out.println("請輸入狗狗的年齡");
		
		double age = scan.nextDouble();
		if(age>=0 && age <= 2){
			age = age*10.5;
		}else(age > 2){
			age = (2*10.5)+(age-2)*4;
		}else{
			System.out.println("請輸入正確的狗狗年齡“);
		}
		System.out.println("狗狗的年齡相當於人類"+age);
	}
}

**

switch…case練習1

**
從鍵盤上輸入“year”,“month”和“day”,要判斷這一天是這一年的第幾天
注:判斷一年是否是閏年的標準:
1)可以被4整除,但不能被100整除
或者
2)可以被400整除


import java.util.Scanner;
class CaseTest{
	public static void main(String[] args){
						
			Scanner scan = new Scanner(System.in);
			System.out.println("請輸入year");
			int year = scan.nextInt();
			
			System.out.println("請輸入month");
			int month = scan.nextInt();
			
			System.out.println("請輸入day");
			int day = scan.nextInt();
			
			//定義接收天數的變量
			int dayNum = 0;
			switch(month){
				case 12:
					dayNum+=30;
				case 11:
					dayNum+=31;
				case 10: 
					dayNum+=30;
				case 9: 
					dayNum+=31;
				case 8:
					dayNum+=31;
				case 7: 
					dayNum+=30;
				case 6: 
					dayNum+=31;
				case 5:
					dayNum+=30;
				case 4: 
					dayNum+=31;
				case 3: 
					//判斷year是否是閏年
					if((year%4 == 0 && year%100 != 0) || year % 400==0){
						dayNum +=29;
					}else{
						dayNum +=28;
					}
				case 2:
					dayNum+=31;
				case 1: 
					dayNum+=day;
			}
		 System.out.println(year+"年"+mouth+"月"+day+"是當年的第"+dayNum+"天");			
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章