Blogger|格式|Google Code Prettify part 2

延續上一篇


後來找到這篇,一看就懂啦!【Google Code Prettify】取代 Syntaxhighlighter 程式碼區塊。於是照文章內容再試試看。


範例

剛好這個是作業,題目如下:

請設計一隻程式由鍵盤輸入三個整數,分別代表西元yyyy年,mm月, dd日,它會顯示是該年的第幾天 例:輸入 1984 9 8 三個號碼後,程式會顯示「西元1984年,第250天」
(提示1:Scanner,陣列)
(提示2:需將閏年條件加入)
(提示3:輸入月份如為2月,則日期不該超過29天)

import java.util.Scanner;
/*
 * 2019/03/11
 * while(true)無限迴圈 搭配 符合條件 break
 * 能用方法解決就用方法
 * 
 * 
 */

public class AdvancedQuestion1 {
	int[] yyyymmdd =new int[3];
	
	public AdvancedQuestion1() {
//		inputYYYYMMDD();
//		howManyDay();
	}
	
	public void inputYYYYMMDD() {
		
		while(true) {
			Scanner scanner = new Scanner(System.in);
			System.out.println("請輸入西元yyyy年mm月dd日 : ");	
			if(scanner.hasNextInt()) {
			
				yyyymmdd[0]=scanner.nextInt(); //年
				yyyymmdd[1]=scanner.nextInt(); //月
				yyyymmdd[2]=scanner.nextInt(); //日	
					
				scanner.close();//輸入完就先關啊 不然要泛舟喔XD
				if(checkMonthOfDays()) {
					break;
				}	
				System.out.println("Please input the correct month or days");	
			}	
		}	
	}
	
	public boolean isLeapYear() {
		if((yyyymmdd[0] % 4 == 0 && yyyymmdd[0] % 100 != 0) || (yyyymmdd[0] % 400 == 0)) {
			return true;
		}
			return false;
	}
	
	public boolean checkMonthOfDays() {//確認月份大小 及各月天數是否正確
		if(yyyymmdd[1]<1 || yyyymmdd[1]>12) {
			return false;
		}	
		if(yyyymmdd[2]>monthOfDaysTable(yyyymmdd[1])|| yyyymmdd[2]<1) {
			return false;
		}else {
			return true;
			}
	}
	
	public int monthOfDaysTable(int month) {
		switch (month) {
		case 1: case 3:  case 5: case 7: case 8: case 10: case 12:
			return 31;
		case 4: case 6: case 9: case 11: 
			return 30;
		case 2:
			if(isLeapYear()) {
				return 29;
			}else {
				return 28;
			}
		}
		return 0;
	}
	
	public void howManyDay() {
		int sumDays = 0;
		if(checkMonthOfDays()) {
			for (int month = 0 ; month<yyyymmdd[1];month++ ) {
				sumDays+=monthOfDaysTable(month);	
			}
			sumDays+=yyyymmdd[2];
			if(isLeapYear()) {
				System.out.println("是潤年喔!");
			}else {
				System.out.println("是平年喔!");
			}
			System.out.println("西元"+yyyymmdd[0]+"年 , 第"+sumDays+"天");	
		}else {
			System.out.println("奇怪,應該在inputYYYYMMDD()就會被擋下來啊!!");
		}
	}
}

小結

如何貼程式碼的問題解決後,接下來就看要如何趕上版面配置囉!

留言