名稱:

星期一, 12月 19, 2005

Lab 12-5-2005 (2) Overloading

import java.io.*;
public class lab120502 {
private String month;
private int day;
private int year;
public void setDate(int monthInt, int day, int year)
{if (dateOK(monthInt,day,year))
{ this.month = monthString(monthInt);
this.day = day;
this.year = year;}
else
{System.out.println("Error");
System.exit(0);}
}
public void setDate(String monthString,int day,int year)
{if (dateOK(monthString,day,year))
{ this.month = monthString;
this.day = day;
this.year = year;}
else
{System.out.println("Error");
System.exit(0);}
}
public void setDate(int year)
{ setDate(1,1,year);}
private boolean dateOK(int monthInt,int dayInt,int yearInt)
{ return ((monthInt >= 1)&&(monthInt <= 12)&&(dayInt >= 1)&&(dayInt <= 31)
&&(yearInt >= 1)&&(yearInt <= 9999));}
private boolean dateOK(String monthString,int dayInt,int yearInt)
{ return (monthOK(monthString)&&(dayInt >= 1)&&(dayInt <= 31)
&&(yearInt >= 1)&&(yearInt <= 9999));}
private boolean monthOK(String month)
{ return (month.equals("Jan")||month.equals("Feb")||
month.equals("Mar")||month.equals("Apr")||month.equals("May")||
month.equals("Jun")||month.equals("Jul")||month.equals("Aug")||
month.equals("Sep")||month.equals("Oct")||month.equals("Nov")||
month.equals("Dec"));}
public void readInput()throws IOException
{ boolean tryAgain = true;
BufferedReader keyboard = new BufferedReader(new InputStreamReader(System.in));
while (tryAgain)
{System.out.println("Enter month, day, and year:");
String monthInputString=keyboard.readLine();
int dayInput = keyboard.read();
int yearInput = keyboard.read();
if(dateOK(monthInputString,dayInput,yearInput))
{ setDate(monthInputString,dayInput,yearInput);
tryAgain = false;}
else
System.out.println("Illegal date. Reenter input.");
}
}
public String monthString(int monthNumber)
{switch(monthNumber)
{case 1:return "Jan";
case 2:return "Feb";
case 3:return "Mar";
case 4:return "Apr";
case 5:return "May";
case 6:return "Jun";
case 7:return "Jul";
case 8:return "Aug";
case 9:return "Sep";
case 10:return "Oct";
case 11:return "Nov";
case 12:return "Dec";
default :System.out.println("Error");
System.exit(0);
return "Error";
}
}
}
------------------------------------------------------------------------------------
public class lab120502demo {
public static void main(String[] args) {
lab120502 date1 = new lab120502(),
date2 = new lab120502(),
date3 = new lab120502();
date1.setDate(1,2,2008);
date2.setDate("Feb",2,2008);
date3.setDate(2008);
System.out.println(date1);
System.out.println(date2);
System.out.println(date3);
}
}

0 Comments:

張貼留言

<< Home