horsemanship世界

星期一, 5月 29, 2006

Lab12

public class Fraction {
private int numerator,denominator;fraction(){
}
fraction(int numerator,int denominator){
this.numerator=numerator;this.denominator=denominator;
}
public static fraction add(fraction c1,fraction c2)
{
fraction c3 = new fraction();
if (c1.denominator==0c2.denominator==0)System.out.println("Denominator is not equal to 0.");
else
{if (c1.numerator == 0){
c3.numerator = c2.numerator;
c3.denominator = c2.denominator;return c3;
}
else if
(c2.numerator == 0){c3.numerator = c1.numerator;
c3.denominator = c1.denominator;
return c3;
}else if (c1.denominator == c2.denominator){
c3.numerator = c1.numerator + c2.numerator;
c3.denominator = c1.denominator;return c3;
}else{c3.denominator = c1.denominator * c2.denominator;c3.numerator = c2.denominator * c1.numerator +c1.denominator * c2.numerator;
return c3;
}}return null;
}public String toString(){return numerator+"/"+denominator;
}
=======================================
public class addtest {
public static void main(String[] args){
Fraction c1 = new fraction(3,0),c2 = new fraction(1,3),c3 = new fraction();
c3 = Fraction.add(c1,c2);
System.out.println(c1+" + "+c2+" = "+c3);
}}
}

星期一, 5月 22, 2006

Lab12 修改中

public class Fraction {
private double numerator , denominator ;
Fraction(){
numerator = denominator = 0;
}

Fraction(double numerator , double denominator){
this.numerator = numerator;
this.denominator = denominator;
}

Fraction ( Fraction f ){
this.numerator = f.numerator ;
this.denominator = f.denominator;
}

public static Fraction add(Fraction f1,Fraction f2) {
Fraction f3 = new Fraction();
if(f1.numerator == 0){
f3.numerator = f2.numerator ;
f3.denominator = f2.denominator ;
return f3;
}

else if(f2.numerator == 0){
f3.numerator = f1.numerator ;
f3.denominator = f1.denominator ;
return f3;
}

else if(f1.denominator ==0 f2.denominator ==0){
System.out.println("分母不可為0");
return f3;
}
else {
f3.denominator = f2.denominator * f2.denominator ;
f3.numerator = f1.numerator*f2.denominator + f2.numerator*f1.denominator ;
return f3;
}
}
public static double showN(Fraction f3){
return f3.numerator; }
public static double showD(Fraction f3){
return f3.denominator;} }
===============================================
public class Demo {
public void main(String[] args){
Fraction Fraction1 = new Fraction(2,3),
Fraction2 = new Fraction(3,4),
Fraction3 = new Fraction();
Fraction3=Fraction.add(Fraction1,Fraction2);
System.out.println(Fraction.showN(f3) + "/" + Fraction.showD(f3)); }}

星期一, 5月 15, 2006

Lab11

class Complex{
private double r, i;
Complex()
{ r=i=0; }
Complex(double r){
this.r=r;
this.i=0;}
Complex(double r, double i){
this.r=r;
this.i=i;}
Complex(Complex c){
this.r=c.r;
this.i=c.i;}
public static Complex add(Complex c1, Complex c2){
static Complex c3;
c3.r=c1.r+c2.r;
c3.i=c1.i+c2.i;
return c3;
public static double showR(Complex c3){
return c3.r;}
public static double showI(Complex c3){
return c3.i;}}}
================================
public class Demo{
public void main(String[] args){

Complex Complex1 = new Complex(2,3),
Complex2 = new Complex(3,5);
Complex Complex3 = new Complex();
Complex3 = Complex.add(Complex1, Complex2);
System.out.println( Complex.showR(c3)+"+" + Complex.showI(c3)+"i" );}}

星期一, 5月 08, 2006

Lab10

import java.io.*;
public class Counter {

private int count ;
public boolean equals(Counter aCounter)
{ return this.count == aCounter.count; }

public void readInput() throws IOException {

boolean tryAgain = true;
BufferedReader keyboard = new BufferedReader(new InputStreamReader(System. in));
System.out.println("Enter a number.");

while (tryAgain)
{
String count1 = keyboard.readLine();
count = Integer.parseInt(count1);

if (count >= 0)
tryAgain = false;
else
System.out.println("Illegal date. Reenter input.");
}}
public void reset()
{count=0;}
public void inc()
{count=count+1;}
public void dec()
{count=count-1;}
public void output()

{System.out.println(count);}}
=============================
import java.io.*;
public class Demo {
public static void main(String[] args) throws IOException {
Counter counter1= new Counter(),
counter2= new Counter();

counter1.readInput();
counter2.readInput();

counter2.inc();
counter1.inc();
if ( counter1.equals(counter2))
System.out.println("counter1 = counter2");
else
System.out.println("They are not equal.");

counter2.dec();
counter1.inc();
if ( counter1.equals(counter2))
System.out.println("They are equal.");
else
System.out.println("They are not equal.");}}

結果:
Enter a number.
12
Enter a number.
12

counter1 = counter2

They are not equal.

Homework8

import java.io.*;

public class Counter

{

private int count;

public void readInput() throws IOException

{boolean tryAgain = true;

BufferedReader keyboard = new BufferedReader(new InputStreamReader(System. in));

System.out.println("Enter a number.");

while (tryAgain)

{String count1 = keyboard.readLine();

count = Integer.parseInt(count1);

if (count >= 0)tryAgain = false;

elseSystem.out.println("Illegal date. Reenter input.");}}

public void reset(){count=0;}

public void inc(){count=count+1;

}public void dec(){count=count-1;

}public void output(){System.out.println(count);}}

====================================

public class Demo{

public static void main(String[] args) throws IOException {

Counter counter= new Counter();

counter.readInput();counter.inc();

counter.output();

counter.inc();counter.output();

counter.dec();

counter.output();

counter.reset();counter.output();}}

星期一, 5月 01, 2006

Lab9

import java.io.*;
public class Date
{
private String month;
private int day;
private int year;
public Date ( )
{
month = "January";
day = 1;
year = 1000;
}
public Date (int monthInt, int day, int year)
{
setDate( monthInt, day, year);
}
public Date (String monthString, int day, int year)
{
setDate(monthString, day, year);
}
public Date (int year)
{
setDate(1, 1, year);
}
public Date (Date aDate){if (aDate == null)
{
System.out.println("Fatal Error.");
System.exit(0);
}
month = aDate.month;
day = aDate.day;
year = aDate.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("Fatal 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("Fatal Error");
System.exit(0);
}}
public void setDate(int year){setDate(1, 1, year);
}
public void setYear(int year){if ( (year > 9999) )
{
System.out.println("Fatal Error");System.exit(0);
}
else this.year = year;
}
public void setMonth(int monthNumber)
{
if ((monthNumber <= 0) ||(monthNumber > 12))
{
System.out.println("Fatal Error");
System.exit(0);
}
else month = monthString(monthNumber);
}
public void setDay(int day){if ((day <= 0) ||(day > 31))
{
System.out.println("Fatal Error");
System.exit(0);
}
else this.day = day;
}
public int getMonth( )
{
if (month.equals("January"))return 1;
else if (month.equals("February"))return 2;
else if (month.equalsIgnoreCase("March"))return 3;
else if (month.equalsIgnoreCase("April"))return 4;
else if (month.equalsIgnoreCase("May"))return 5;
else if (month.equals("June"))return 6;
else if (month.equalsIgnoreCase("July"))return 7;
else if (month.equalsIgnoreCase("August"))return 8;
else if (month.equalsIgnoreCase("September"))return 9;
else if (month.equalsIgnoreCase("October"))return 10;
else if (month.equals("November"))return 11;
else if (month.equals("December"))return 12;
else
{
System.out.println("Fatal Error");System.exit(0);
return 0;
}}
public int getDay( ){return day;
}
public int getYear( ){return year;
}
public String toString( ){return (month + " " + day + ", " + year);
}
public boolean equals(Date otherDate)
{
return ( (month.equals(otherDate.month))
&&amp;amp;amp; (day == otherDate.day)
&& (year == otherDate.year) );
}
public boolean precedes(Date otherDate)
{
return ( (year < year ="=" tryagain =" true;" keyboard =" new" monthinput =" keyboard.readLine(" dayinput =" Integer.parseInt(keyboard.readLine());" yearinput =" Integer.parseInt(keyboard.readLine());" tryagain =" false;">= 1)
&&amp;amp;amp; (monthInt <= 12) &&(dayInt >= 1)
&& (dayInt <= 31) &&(yearInt >= 1000)
&& (yearInt <= 9999) ); } private boolean dateOK(String monthString, int dayInt, int yearInt) { return ( monthOK(monthString) &&amp;amp;amp;(dayInt >= 1)
&& (dayInt <= 31) &&(yearInt >= 1000)
&& (yearInt <= 9999) );
}
private boolean monthOK(String month)
{
return (month.equals("January")
|| month.equals("February") || month.equals("March")
|| month.equals("April") ||month.equals("May")
||month.equals("June") ||month.equals("July")
|| month.equals("August") ||month.equals("September")
||month.equals("October") ||month.equals("November")
|| month.equals("December") );
}private String monthString(int monthNumber){switch (monthNumber){
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 "December";
default:System.out.println("Fatal Error");
System.exit(0);
return "Error";
}}}
===============================
public class ConttructorsDemo {
public static void main(String[]args)
{
Date date1=new Date("December",16,1770),
date2=new Date(1,27,1756),
date3=new Date (1882),
date4=new Date ();

System.out.println(" Whose birthday is "+date1+"?");
System.out.println(" Whose birthday is "+date2+"?");
System.out.println(" Whose birthday is "+date3+"?");
System.out.println(" Whose birthday is "+date4+"?");}}

結果:
Whose birthday is December 16, 1770?
Whose birthday is January 27, 1756?
Whose birthday is January 1, 1882?
Whose birthday is January 1, 1000?
==========================================
public class ConttructorsDemo {
public static void main(String[]args)
{
Date birthday1 = new Date("January",1,2000),
birthday2 = new Date();
Date birthday3 = new Date("February",1,2000);
birthday2.setDate("February",1,2000);
System.out.println(" Whose birthday is "+birthday2+"?");
Date birthday4 = new Date("March",1,2000);
System.out.println(" Whose birthday is "+birthday1+"?");
System.out.println(" Whose birthday is "+birthday3+"?");
System.out.println(" Whose birthday is "+birthday4+"?");}}

結果:
Whose birthday is February 1, 2000?
Whose birthday is January 1, 2000?
Whose birthday is February 1, 2000?
Whose birthday is March 1, 2000?

Homework7

import java.io.*;
public class Date
{private String month;
private int day;
private int year;
public Date ( )
{month = "January";
day = 1;year = 1000;
}
public Date (int monthInt, int day, int year){setDate(monthInt, day, year);
}public Date (String monthString, int day, int year){setDate(monthString, day, year);
}
public Date (int year){setDate(1, 1, year);
}
public Date (Date aDate){if (aDate == null)
{
System.out.println("Fatal Error.");
System.exit(0);
}month = aDate.month;
day = aDate.day;
year = aDate.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("Fatal 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("Fatal Error");
System.exit(0);
}}
public void setDate(int year){setDate(1, 1, year);
}
public void setYear(int year){if ( (year <> 9999) )
{
System.out.println("Fatal Error");System.exit(0);
}
elsethis.year = year;
}public void setMonth(int monthNumber)
{
if ((monthNumber <= 0) (monthNumber > 12)){System.out.println("Fatal Error");
System.exit(0);
}
elsemonth = monthString(monthNumber);
}
public void setDay(int day){if ((day <= 0) (day > 31))
{
System.out.println("Fatal Error");System.exit(0);}elsethis.day = day;}public int getMonth( ){if (month.equals("January"))return 1;
else if (month.equals("February"))return 2;
else if (month.equalsIgnoreCase("March"))return 3;
else if (month.equalsIgnoreCase("April"))return 4;
else if (month.equalsIgnoreCase("May"))return 5;
else if (month.equals("June"))return 6;
else if (month.equalsIgnoreCase("July"))return 7;
else if (month.equalsIgnoreCase("August"))return 8;
else if (month.equalsIgnoreCase("September"))return 9;
else if (month.equalsIgnoreCase("October"))return 10;
else if (month.equals("November"))return 11;
else if (month.equals("December"))return 12;
else{System.out.println("Fatal Error");System.exit(0);
return 0;}}public int getDay( ){return day;
}public int getYear( ){return year;
}public String toString( ){return (month + " " + day + ", " + year);
}public boolean equals(Date otherDate){return ( (month.equals(otherDate.month)) &&amp;
(day == otherDate.day) && (year == otherDate.year) );
}
public boolean precedes(Date otherDate)
{return ( (year < year ="=">(year == otherDate.year && month.equals(otherDate.month) && day <>}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.");System.out.println("Do not use a comma.");
String monthInput = keyboard.readLine( );
int dayInput = Integer.parseInt(keyboard.readLine());
int yearInput = Integer.parseInt(keyboard.readLine());
if (dateOK(monthInput, dayInput, yearInput) )
{setDate(monthInput, dayInput, yearInput);
tryAgain = false;
}
elseSystem.out.println("Illegal date. Reenter input.");
}}
private boolean dateOK(int monthInt, int dayInt, int yearInt)
{return ( (monthInt >= 1) &&amp; (monthInt <= 12) &&(dayInt >= 1) && (dayInt <= 31) &&(yearInt >= 1000) && (yearInt <= 9999) );
}
private boolean dateOK(String monthString, int dayInt, int yearInt){return ( monthOK(monthString) &&amp;(dayInt >= 1) && (dayInt <= 31) &&(yearInt >= 1000) && (yearInt <= 9999) );
}
private boolean monthOK(String month){return (month.equals("January") month.equals("February") month.equals("March") month.equals("April") month.equals("May") month.equals("June") month.equals("July") month.equals("August") month.equals("September") month.equals("October") month.equals("November") month.equals("December") );
}private String monthString(int monthNumber){switch (monthNumber){
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 "December";
default:System.out.println("Fatal Error");
System.exit(0);
return "Error";
}}}
================================================
public class dis414
{
public static void main(String[]args)
{
Date date1=new Date("December", 16, 1770),date2=new Date(1, 27, 1756),date3=new Date (1882),date4=new Date ();
System.out.println( date1);
System.out.println( date2);
System.out.println( date3);
System.out.println( date4);
}}