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()就會被擋下來啊!!");
}
}
}
小結
如何貼程式碼的問題解決後,接下來就看要如何趕上版面配置囉!
留言
張貼留言