星期一, 12月 19, 2005

Homework 12-5-2005

import java.io.*;

public class Temperature {

private double degreesF;
private char degreesC;

public Temperature() {
this.degreesF = 0;
this.degreesC = 'C';
}

public Temperature(double value) {
this.degreesF = degreesF;
this.degreesC = 'C';
}

public Temperature(char scale) {
this.degreesF = 0;
if (scale == 'f' || scale == 'F') {
this.degreesC = 'F';
}
else if (scale == 'c' || scale == 'C') {
this.degreesC = 'C';
}
else {
System.out.println("Error degreesC,and scale set C");
this.degreesC = 'C';
}
}

public Temperature(double value, char scale) {
this.degreesF = value;
if (scale == 'f' || scale == 'F') {
this.degreesC = 'F';
}
else if (scale == 'c' || scale == 'C') {
this.degreesC = 'C';
}
else {
System.out.println("Error degreesC,and scale set C");
this.degreesC = 'C';
}
}

public double getTempC() {
double temp = 0;
if (degreesC == 'C')
{
temp = degreesF;
}
else if (degreesC == 'F') {
temp = (degreesF - 32) * 5 / 9;
}
return temp;
}

public double getTempF() {
double temp = 0;
if (degreesC == 'F') {
temp = degreesF;
}
else if (degreesC == 'C') {
temp = (degreesF * 9 / 5) + 32;
}
return temp;
}

public void setdegreesF(double degreesF) {
this.degreesF = degreesF;
}

public void setScale(char scale) {
if (scale == 'f' || scale == 'F') {
this.degreesC = 'F';
}
else if (scale == 'c' || scale == 'C') {
this.degreesC = 'C';
}
else {
System.out.println("Error degreesC,and scale no change");
}
}

public void setTemp(double value, char degreesC) {
if (degreesC == 'f' || degreesC == 'F') {
this.degreesC = 'F';
}
else if (degreesC == 'c' || degreesC == 'C') {
this.degreesC = 'C';
}
else {
System.out.println("Error degreesC,and scale no change");
}
this.degreesF = degreesF;
}

public boolean Equals(Temperature otherTemp) {
if (this.degreesC == 'C' && this.degreesF == otherTemp.getTempC()) {
return true;
}
else if (this.degreesC == 'F' && this.degreesF == otherTemp.getTempF()) {
return true;
}
else {
return false;
}
}

public boolean GreaterThan(Temperature otherTemp) {
if (this.degreesC == 'C' && this.degreesF >= otherTemp.getTempC()) {
return true;
}
else if (this.degreesC == 'F' && this.degreesF >= otherTemp.getTempF()) {
return true;
}
else {
return false;
}
}

public boolean LessThan(Temperature otherTemp) {
if (this.degreesC == 'C' && this.degreesF <= otherTemp.getTempC()) {
return true;
}
else if (this.degreesC == 'F' && this.degreesF <= otherTemp.getTempF()) {
return true;
}
else {
return false;
}
}

public String toString() {
return Double.toString(degreesF) + degreesC;
}

}


class TemperatureTest {

public static void main(String[] args) {

Temperature iceC = new Temperature(0.0, 'C');
Temperature iceF = new Temperature(32.0, 'F');

Temperature fireC = new Temperature(100.0);
fireC.setScale('C');
Temperature fireF = new Temperature(212.0);
fireF.setScale('F');

Temperature coldC = new Temperature();
coldC.setTemp( -40.0, 'C');
Temperature coldF = new Temperature();
coldF.setScale('F');
coldF.setdegreesF( -40.0);

System.out.println("iceC = " + iceC );
System.out.println("iceF = " + iceF );
System.out.println("fireC = " + fireC );
System.out.println("fireF = " + fireF );
System.out.println("coldC = " + coldC + " , " + coldC.getTempF() + "F");
System.out.println("coldF = " + coldF + " , " + coldF.getTempC() + "C");

System.out.print("\nTest Equals ? \n");
System.out.println(iceC + " = " + coldC + " ? " + iceC.Equals(coldC));
System.out.println(iceC + " = " + iceF + " ? " + iceC.Equals(iceF));
System.out.println(iceF + " = " + coldC + " ? " + iceF.Equals(coldC));
System.out.println(iceF + " = " + iceC + " ? " + iceF.Equals(iceC));

System.out.print("\nTest Less Than ? \n");
System.out.println(iceC + " <= " + coldC + " ? " + iceC.LessThan(coldC));
System.out.println(iceC + " <= " + fireF + " ? " + iceC.LessThan(fireF));
System.out.println(iceF + " <= " + coldC + " ? " + iceF.LessThan(coldC));
System.out.println(iceF + " <= " + fireC + " ? " + iceF.LessThan(fireC));

System.out.print("\nTest Greater Than ? \n");
System.out.println(iceC + " >= " + fireC + " ? " + iceC.GreaterThan(fireC));
System.out.println(iceC + " >= " + coldF + " ? " + iceC.GreaterThan(coldF));
System.out.println(iceF + " >= " + fireF + " ? " + iceF.GreaterThan(fireF));
System.out.println(iceF + " >= " + coldF + " ? " + iceF.GreaterThan(coldF));
}}

0 Comments:

張貼留言

<< Home