朋友让我帮助弄一个JAVA任务,我也不会所以就求助高手了!多谢帮助!分全给了!!虽然不多,但却是我的心

写一个Java应用程序,该程序允许用户比较摄氏和华氏温度的相等性。具体要求如下:
建立一个Temperature类,它有两个实例变量:一个是温度值(float);另一个是温度的计量单位(char),即取值 ’C’ 或 ’F’,C表示Celsius(摄氏温度)、F表示Fahrenheit(华氏温度)。这个类还应有2 个构造方法:
1. 给每一个实例变量设置缺省值,即温度值为0、计量单位为C(摄氏);
2. 通过两个参数分别给两个实例变量赋初值。

这个类应包括:
1. 两个存取方法:一个返回用摄氏计量的温度、另一个返回华氏温度。摄氏和华氏温度的转换公式如下:
degreesC = 5 * (degreesF - 32)/9
degreesF = (9* (degreesC)/5) + 32

2. 三个改变对象属性的方法:一个设置温度值、一个设置计量单位(’F’或’C’)、另一个同时设置温度值和计量单位。

3. 三个比较方法:一个用来是否两个温度相等;一个方法用来测试比较一个温度大于另一个温度;一个方法用来测试比较一个温度小于另一个温度。

4. 一个toString方法:最后写一个测试程序(main方法),测试Temperature类中的所有方法。要确保使用到所用的构造方法;要测试每一个比较方法,并确保至少有一个真(true)一个假(false)的结果。例如测试:0.0 degrees C = 32.0 degrees F
-40.0 degrees C = - 40.0 degrees F
-100.0 degrees C = 212.0 degrees F

请注意:必须保证输入的数据是有效的。所有非法的输入字符都应产生相应的错误信息并提示用户重新输入正确的数据。

要有:
设计说明:描述类及方法的设计、程序结构;
操作说明:描述如何运行你的程序;
源文件(*.java文件)

所有文件均发到[email protected]即可!!
多谢高手了!!不求复杂!!谢谢!!
如果分数攒多些了,我会提升悬赏的!多谢高手们的理解!!

。。。。。。。。。。。。

感谢这位朋友!不过,听他说,老师要除了规定的方法,不让再多加方法了。。。只能用规定的方法

代码:
import javax.swing.JOptionPane;

/**
* 类描述:摄氏温度与华氏温度操作类
*
* @author
* @since JDK1.5
* @history 2010-12-15 上午10:39:51 新建
* @version 1.0
*/
public class Temperature {

/** 温度值 */
private float value = 0F;// 初始为0度

/** 单位,字符类型:取值 ’C’ 或 ’F’,C表示Celsius(摄氏温度)、F表示Fahrenheit(华氏温度) */
private char unit = 'C';// 初始为摄氏温度C

/** 摄氏温度单位常量C */
private static final char UNIT_CELSIUS = 'C';

/** 华氏温度单位常量F */
private static final char UNIT_FAHRENHEIT = 'F';

Temperature() {
}

Temperature(float value, char unit) {
this.value = value;
this.unit = unit;
}

public char getUnit() {
return unit;
}

public void setUnit(char unit) {
this.unit = unit;
}

public float getValue() {
return value;
}

public void setValue(float value) {
this.value = value;
}

public void setValueAndUnit(float value, char unit) {
this.value = value;
this.unit = unit;
}

/** 返回改温度对象的摄氏温度 */
public float getDegreesC() {
// 如果单位已是摄氏温度,则直接返回值
if (this.unit == this.UNIT_CELSIUS) {
return this.value;
}
// 否则返回换算后的值
return 5 * (this.value - 32) / 9;
}

/** 返回改温度对象的华氏温度 */
public float getDegreesF() {
// 如果单位已是华氏温度,则直接返回值
if (this.unit == this.UNIT_FAHRENHEIT) {
return this.value;
}
// 否则返回换算后的值
return (9 * (this.value) / 5) + 32;
}

/**
* 温度的比较方法
*
* @param Temperature t 要比较的温度
* @return 相等返回0,比参数大返回1,比参数小返回-1
*/
public int compare(Temperature t) {
// 将温度同一为摄氏温度做比较
if (this.getDegreesC() - t.getDegreesC() == 0) {
return 0;
} else if (this.getDegreesC() - t.getDegreesC() > 0) {
return 1;
} else if (this.getDegreesF() - t.getDegreesC() < 0) {
return -1;
}
return -2;// 异常
}

public String toString() {
return "温度:" + this.value + " 单位:" + String.valueOf(this.unit);
}

public static void main(String[] args) {
Temperature t1 = createTemperature();
Temperature t2 = createTemperature();
if (t1.compare(t2) == 0) {
JOptionPane.showMessageDialog(null, t1.toString() + " 等于 " + t2.toString());
} else if (t1.compare(t2) < 0) {
JOptionPane.showMessageDialog(null, t1.toString() + " 小于 " + t2.toString());
} else if (t1.compare(t2) > 0) {
JOptionPane.showMessageDialog(null, t1.toString() + " 大于 " + t2.toString());
}
}

/**
* 方法说明:接受输入参数,返回温度对象
*
* @author
* @return Temperature 构造完的温度
*/
private static Temperature createTemperature() {
String value = null;
String unit = null;
Temperature t = new Temperature();
value = JOptionPane.showInputDialog("温度值", "输入温度的度数");
if (value != null && !"".equals(value)) {
while (!value.matches("\\d*.?\\d*")) {
JOptionPane.showMessageDialog(null, "只能输入数值");
String temp = JOptionPane.showInputDialog("温度值", "输入温度的度数");
if (temp != null) {
unit = temp;
} else {
// 值为null,则默认0;
value = "0";
break;
}
}
t.setValue(Float.parseFloat(value));
}
unit = JOptionPane.showInputDialog("", "输入温度的单位(C/F),大小写不限");
if (unit != null && !"".equals(unit)) {
while (!unit.toUpperCase().matches("C|F")) {
System.out.println(unit);
JOptionPane.showMessageDialog(null, "只能输入C或F");
String temp = JOptionPane.showInputDialog("单位", "输入温度的单位(C/F),大小写不限");
if (temp != null) {
unit = temp;
} else {
// 单位为null,则默认C
unit = String.valueOf(Temperature.UNIT_CELSIUS);
break;
}
}
t.setUnit(unit.charAt(0));
}
return t;
}
}

复制保存为Temperature.java
命令行javac Temperature.java编译
java Temperature运行

没加方法啊,把main函数里的代码提出来了而已。老是咋那么死板啊?
全听学校里老是那个,是个人都笨死了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-15
这个应该是作业题,作业题要自己做啊本回答被网友采纳
相似回答