使用類別來個別印出年月日,這是利用課本程式範例CH5裡的一些程式改的,為了幫助了解程式,註解寫的非常多,希望對大家有幫助︿︿"。
以下為程式內容:
class Date //宣告一個類別Date
{ // 宣告3個成員day和month和year
private int day;
private int month;
private int year;
//--------------------------Day設定+判斷------------------------
public boolean setday(int d)//接收主程式傳過來的d,true就原封不動傳回主程式,false就傳回error。
{if ( getday(d) ) //接收getday傳回的true、false,判斷是否要傳回正確的day回主程式。
{day = d;return true;} //把合法的資料傳回去主程式
else return false;
}
public boolean getday(int d)//接收主程式傳過來的day
{if ( d < 1 || d > 31 ) return false;return true;}//判斷是否合法,合法傳true、不合法傳false回setday的if裡。
//--------------------------month設定+判斷----------------------
public boolean setmonth(int m) //接收主程式傳過來的m,true就原封不動傳回主程式,false就傳回error。
{if ( getmonth(m) ) //接收getmonth傳回的true、false,判斷是否要傳回正確的month回主程式。
{month = m;return true;} //把合法的資料傳回去主程式
else return false;
}
public boolean getmonth(int m) //接收主程式傳過來的month
{if ( m < 1 || m > 12 ) return false;return true;}//判斷是否合法,合法傳true、不合法傳false回setmonth的if裡。
//--------------------------year設定+判斷-----------------------
public boolean setyear(int y) //接收主程式傳過來的y,true就原封不動傳回主程式,false就傳回error。
{if ( getyear(y) ) //接收getyear傳回的true、false,判斷是否要傳回正確的year回主程式。
{year = y;return true;} //把合法的資料傳回去主程式
else return false;
}
public boolean getyear(int y) //接收主程式傳過來的year
{if ( y < 1900 ) return false;return true;}//判斷是否合法,合法傳true、不合法傳false回setyear的if裡。
//--------------------------設定每個成員的輸出------------------
public void printDate() //印出Date類別的成員(day、month、year)
{
System.out.print(month+"-");//印出month
System.out.print(day+"-"); //印出day
System.out.println(year); //印出year
}
}
//-----------------------------------主程式-------------------------------------
public class CH5
{
public static void main(String[] args)
{
Date today = new Date(); //用new來規劃出today在Date有記憶空間
today.setday(32); //傳32數值到setday
today.setmonth(11); //傳11數值到setmonth
today.setyear(2007); //傳2007數值到setyear
System.out.print("今天(月-日-年): ");
today.printDate(); //用printDate印出年月日
}
}
以下為程式內容:
class Date //宣告一個類別Date
{ // 宣告3個成員day和month和year
private int day;
private int month;
private int year;
//--------------------------Day設定+判斷------------------------
public boolean setday(int d)//接收主程式傳過來的d,true就原封不動傳回主程式,false就傳回error。
{if ( getday(d) ) //接收getday傳回的true、false,判斷是否要傳回正確的day回主程式。
{day = d;return true;} //把合法的資料傳回去主程式
else return false;
}
public boolean getday(int d)//接收主程式傳過來的day
{if ( d < 1 || d > 31 ) return false;return true;}//判斷是否合法,合法傳true、不合法傳false回setday的if裡。
//--------------------------month設定+判斷----------------------
public boolean setmonth(int m) //接收主程式傳過來的m,true就原封不動傳回主程式,false就傳回error。
{if ( getmonth(m) ) //接收getmonth傳回的true、false,判斷是否要傳回正確的month回主程式。
{month = m;return true;} //把合法的資料傳回去主程式
else return false;
}
public boolean getmonth(int m) //接收主程式傳過來的month
{if ( m < 1 || m > 12 ) return false;return true;}//判斷是否合法,合法傳true、不合法傳false回setmonth的if裡。
//--------------------------year設定+判斷-----------------------
public boolean setyear(int y) //接收主程式傳過來的y,true就原封不動傳回主程式,false就傳回error。
{if ( getyear(y) ) //接收getyear傳回的true、false,判斷是否要傳回正確的year回主程式。
{year = y;return true;} //把合法的資料傳回去主程式
else return false;
}
public boolean getyear(int y) //接收主程式傳過來的year
{if ( y < 1900 ) return false;return true;}//判斷是否合法,合法傳true、不合法傳false回setyear的if裡。
//--------------------------設定每個成員的輸出------------------
public void printDate() //印出Date類別的成員(day、month、year)
{
System.out.print(month+"-");//印出month
System.out.print(day+"-"); //印出day
System.out.println(year); //印出year
}
}
//-----------------------------------主程式-------------------------------------
public class CH5
{
public static void main(String[] args)
{
Date today = new Date(); //用new來規劃出today在Date有記憶空間
today.setday(32); //傳32數值到setday
today.setmonth(11); //傳11數值到setmonth
today.setyear(2007); //傳2007數值到setyear
System.out.print("今天(月-日-年): ");
today.printDate(); //用printDate印出年月日
}
}
沒有留言:
張貼留言