2008年5月26日 星期一

Lab Overloading

import java.util.Scanner;
public class LabOverloading
{
private String mouth;
private int day;
private int year;

public void setDate(int mouthInt,int day,int year)
{
if (dateOK(mouthInt,day,year))
{
this.mouth=mouthString(mouthInt);
this.day=day;
this.year=year;
}
else
{
System.out.println("Fatal Error");
System.exit(0);
}
}

public void setDate(String mouthString,int day,int year)
{
if (dateOK(mouthString,day,year))
{
this.mouth=mouthString;
this.day=day;
this.year=year;
}
else
{
System.out.println("Fatal Error");
System.exit(0);
}
}

public void setDate(int year)
{
setDate(1,1,year);
}

private boolean dateOK(int mouthInt,int dayInt,int yearInt )
{
return ((mouthInt>=1)&&(mouthInt<=12)&&(dayInt>=1)&&(dayInt<=31)&&(yearInt>=1000)&&(yearInt<=9999));
}

private boolean dateOK(String mouthString,int dayInt,int yearInt )
{
return (mouthOK(mouthString)&&(dayInt>=1)&&(dayInt<=31)&&(yearInt>=1000)&&(yearInt<=9999));
}

private boolean mouthOK(String mouth)
{
return (mouth.equals("January")mouth.equals("February")mouth.equals("March")mouth.equals("April")mouth.equals("May")mouth.equals("June")mouth.equals("July")mouth.equals("August")mouth.equals("September")mouth.equals("October")mouth.equals("November")mouth.equals("Deceber"));
}

public void readInput()
{
boolean tryAgain=true;
Scanner keyboard=new Scanner(System.in);
while(tryAgain)
{
System.out.println("Enter mouth ,day and year.");
System.out.println("Do not use a comma.");
String mouthInput= keyboard.next();
int dayInput= keyboard.nextInt();
int yearInput= keyboard.nextInt();
if (dateOK(mouthInput,dayInput,yearInput))
{
setDate(mouthInput,dayInput,yearInput);
tryAgain=false;
}
else System.out.println("Illegal date. Reenter input");
}
}

public String mouthString(int mouthNumber)
{
switch(mouthNumber)
{
case 1: return "January";
case 2: return "February";
case 3: return "March";
case 4: return "April";
case 5: return "May";
case 6: return "June";
case 7: return "July";
case 8: return "August";
case 9: return "September";
case 10: return "October";
case 11: return "November";
case 12: return "Deceber";
default: System.out.println("Fatal Error");
System.exit(0); return "Error";
}
}

public String toString()

{
return year+"/"+mouth+"/"+day;
}


public static void main(String[] args)
{
LabOverloading date1=new LabOverloading(),
date2=new LabOverloading(),
date3=new LabOverloading();

date1.setDate(1,2,2008);
date2.setDate("February",2,2008);
date3.setDate(2008);

System.out.println(date1);
System.out.println(date2);
System.out.println(date3);
}
}



Lab ADT, accessor, mutator

public class Complex
{
private int real;
private int imaginary;

public void setComplex(int real,int imaginary)
{
this.real=real;
this.imaginary=imaginary;
}

public String getComplex()
{
return (real+"+"+imaginary+"i");
}

public Complex addComplex(Complex newComplex)
{
Complex result=new Complex();
result.real=real+newComplex.real;
result.imaginary=imaginary+newComplex.imaginary;
return result;
}

}


public class LabComplexClass
{
public static void main(String[] args)
{
Complex data1= new Complex(),
data2= new Complex();

data1.setComplex(2,3);
data2.setComplex(4,5);

System.out.println(data1.addComplex(data2).getComplex());

//Mutator
data1.setComplex(5, 6);
System.out.println(data1.addComplex(data2).getComplex());
}

}












2008年5月19日 星期一

lab Fraction equality test

public class Fraction
{
private int mom;
private int son;

public void setFraction(int son ,int mom)
{
this.mom=mom;
this.son=son;
}
public Fraction add (Fraction newFraction)
{
Fraction result=new Fraction();
result.mom=newFraction.mom*mom;
result.son=newFraction.mom*son+mom*newFraction.son;
return result;
}
public String equals (Fraction newFraction)
{
if((float)son/(float)mom==(float)newFraction.son/(float)newFraction.mom)
{
return "they are equal";
}
else
{
return "they are not equal";
}
}

public String toString()
{
return this.son+"/"+this.mom;
}

}

public class labFractionAddition
{
public static void main(String[] args)
{
Fraction f1=new Fraction(),
f2=new Fraction();

f1.setFraction(5,6);
f2.setFraction(6,7);
System.out.println(f1.equals (f2).toString());
}

}






















lab Fraction Addition

public class Fraction
{
private int mom;
private int son;

public void setFraction(int son ,int mom)
{
this.mom=mom;
this.son=son;
}
public Fraction add (Fraction newFraction)
{
Fraction result=new Fraction();
result.mom=newFraction.mom*mom;
result.son=newFraction.mom*son+mom*newFraction.son;
return result;
}
public String equals (Fraction newFraction)
{
if((float)son/(float)mom==(float)newFraction.son/(float)newFraction.mom)
{
return "they are equal";
}
else
{
return "they are not equal";
}
}

public String toString()
{
return this.son+"/"+this.mom;
}

}



public class labFractionAddition
{
public static void main(String[] args)
{
Fraction f1=new Fraction(),
f2=new Fraction();

f1.setFraction(1,2);
f2.setFraction(1,3);
System.out.println(f1.add (f2).toString());
}

}