高分求解一个Java语言程序设计,Java程序高手来试一试

java web程序设计的一个课后题,高分求解,着急要代码,急,大神帮帮忙~

代码已发,下载发布到tomcat即可运行,
采纳后会自动给出密码。

有问题欢迎提问,满意请采纳,谢谢!

用这个肯定可以了,选用测试数据
12摄氏温度= 53.6华氏温度

import java.util.InputMismatchException;
import java.util.Scanner;

public class Temperature {

private float temprature;//温度数值
private char unit; //'C' for Celsius, 'F' Fahrenheit//温度单位

public Temperature() {//无参构造
this.temprature = 0.0F;
this.unit = 'C';
}

public Temperature(float temprature, char unit) {//2参数构造
this.temprature = temprature;
this.unit = String.valueOf(unit).toUpperCase().charAt(0);//确保计量单位都为大写字//母方便后面比较
}

public static void main(String args[]){
Temperature t1 = new Temperature();//第一种构造应用
Temperature t2 = new Temperature(0.0F, 'c');//第二种构造

getTemperatureValueFromInput(t1, t2);//接收键盘输入保存温度数
getTemperaturUnitFromInput(t1, t2);//接收键盘输入保存温度单位

System.out.println("Tempearture 1 is: " + t1.toString());//输出要比较的温度1
System.out.println("Tempearture 2 is: " + t2.toString());//输出要比较的温度2

System.out.println(t1.toString() + " = " + t2.toString() + "? "+ t1.equal(t2));//相等么
System.out.println(t1.toString() + " > " + t2.toString() + "? "+ t1.isHigher(t2));//大于么?
System.out.println(t1.toString() + " < " + t2.toString() + "? "+ t1.isLower(t2));//小于?
}

//从键盘依次接受温度值
private static void getTemperatureValueFromInput(Temperature t1, Temperature t2) {
// input value for temperature t1 and t2
int count = 1;
while(count <= 2){
try{
System.out.println("Please input value for temperature " + count);

Scanner scanner = new Scanner(System.in);

if(count == 1){
t1.setTempratureValue(scanner.nextFloat());
}else{
t2.setTempratureValue(scanner.nextFloat());
}
count++;
}catch(InputMismatchException mismatchExp){
System.out.println("Invalid value for tempartue!");
continue;
}
}
}

//从键盘依次接受单位并提供相应出错处理
private static void getTemperaturUnitFromInput(Temperature t1, Temperature t2) {
//input unit for temperature t1 and t2
int unitCount = 1;

while(unitCount <= 2){
try{
System.out.println("Please input unit for temperature " + unitCount);

Scanner scanner = new Scanner(System.in);

String str = scanner.next();

if(str.trim().length() > 1){
System.out.println("Invalid length for tempartue unit!");
continue;
}

char unit = str.trim().toUpperCase().charAt(0);

if(str.trim().equalsIgnoreCase("C") || str.trim().equalsIgnoreCase("F")){

if(unitCount == 1){
t1.setUnit(unit);
}else{
t2.setUnit(unit);
}
}else{
System.out.println("Invalid unit character for tempartue unit!");
continue;
}


unitCount++;
}catch(InputMismatchException mismatchExp){
System.out.println("Invalid value for tempartue unit!");
continue;
}
}
}

//转换成摄氏温度
public Temperature toCelsius(){

if(unit == 'C'){
return this;
}else{
return new Temperature((float)5F*(temprature - 32F)/9F, 'C');
}
}

//转换成华氏温度
public Temperature toFahrenheit(){
if(unit == 'F'){
return this;
}else{
return new Temperature((float)(9F*(temprature)/5F)+32F, 'F');
}
}

public void setTempratureValue(float temprature) {//设置温度值
this.temprature = temprature;
}

public void setUnit(char unit) {//设置单位
this.unit = unit;
}

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

public boolean equal(Temperature t2){//判断相等
t2 = convertToSameUnit(t2);
return t2.temprature == this.temprature;
}

public boolean isHigher(Temperature t2){//判断大于
t2 = convertToSameUnit(t2);
return this.temprature > t2.temprature;
}

public boolean isLower(Temperature t2){//判断小鱼
t2 = convertToSameUnit(t2);
return this.temprature < t2.temprature;
}

private Temperature convertToSameUnit(Temperature t2) {//转换成同样计量单位
if(t2.unit != unit){
if(t2.unit == 'C'){
return t2.toFahrenheit();
}else{
return t2.toCelsius();
}
}

return t2;
}

public String toString(){//重写toString方法
return temprature + " " + unit;
}
}

----------------
Please input value for temperature 1
a
Invalid value for tempartue!
Please input value for temperature 1
0
Please input value for temperature 2
bbbb
Invalid value for tempartue!
Please input value for temperature 2
32
Please input unit for temperature 1
a
Invalid unit character for tempartue unit!
Please input unit for temperature 1
ef
Invalid length for tempartue unit!
Please input unit for temperature 1
c
Please input unit for temperature 2
ss
Invalid length for tempartue unit!
Please input unit for temperature 2
F
Tempearture 1 is: 0.0 C
Tempearture 2 is: 32.0 F
0.0 C = 32.0 F? true
0.0 C > 32.0 F? false
0.0 C < 32.0 F? false

-----测试结果2
Please input value for temperature 1
12
Please input value for temperature 2
66
Please input unit for temperature 1
c
Please input unit for temperature 2
f
Tempearture 1 is: 12.0 C
Tempearture 2 is: 66.0 F
12.0 C = 66.0 F? false
12.0 C > 66.0 F? false
12.0 C < 66.0 F? true

------测试结果3
Please input value for temperature 1
12
Please input value for temperature 2
52
Please input unit for temperature 1
c
Please input unit for temperature 2
f
Tempearture 1 is: 12.0 C
Tempearture 2 is: 52.0 F
12.0 C = 52.0 F? false
12.0 C > 52.0 F? true
12.0 C < 52.0 F? false

用这个肯定可以了,选用测试数据
12摄氏温度= 53.6华氏温度

import java.util.InputMismatchException;
import java.util.Scanner;

public class Temperature {

private float temprature;//温度数值
private char unit; //'C' for Celsius, 'F' Fahrenheit//温度单位

public Temperature() {//无参构造
this.temprature = 0.0F;
this.unit = 'C';
}

public Temperature(float temprature, char unit) {//2参数构造
this.temprature = temprature;
this.unit = String.valueOf(unit).toUpperCase().charAt(0);//确保计量单位都为大写字//母方便后面比较
}

public static void main(String args[]){
Temperature t1 = new Temperature();//第一种构造应用
Temperature t2 = new Temperature(0.0F, 'c');//第二种构造

getTemperatureValueFromInput(t1, t2);//接收键盘输入保存温度数
getTemperaturUnitFromInput(t1, t2);//接收键盘输入保存温度单位

System.out.println("Tempearture 1 is: " + t1.toString());//输出要比较的温度1
System.out.println("Tempearture 2 is: " + t2.toString());//输出要比较的温度2

System.out.println(t1.toString() + " = " + t2.toString() + "? "+ t1.equal(t2));//相等么
System.out.println(t1.toString() + " > " + t2.toString() + "? "+ t1.isHigher(t2));//大于么?
System.out.println(t1.toString() + " < " + t2.toString() + "? "+ t1.isLower(t2));//小于?
}

//从键盘依次接受温度值
private static void getTemperatureValueFromInput(Temperature t1, Temperature t2) {
// input value for temperature t1 and t2
int count = 1;
while(count <= 2){
try{
System.out.println("Please input value for temperature " + count);

Scanner scanner = new Scanner(System.in);

if(count == 1){
t1.setTempratureValue(scanner.nextFloat());
}else{
t2.setTempratureValue(scanner.nextFloat());
}
count++;
}catch(InputMismatchException mismatchExp){
System.out.println("Invalid value for tempartue!");
continue;
}
}
}

//从键盘依次接受单位并提供相应出错处理
private static void getTemperaturUnitFromInput(Temperature t1, Temperature t2) {
//input unit for temperature t1 and t2
int unitCount = 1;

while(unitCount <= 2){
try{
System.out.println("Please input unit for temperature " + unitCount);

Scanner scanner = new Scanner(System.in);

String str = scanner.next();

if(str.trim().length() > 1){
System.out.println("Invalid length for tempartue unit!");
continue;
}

char unit = str.trim().toUpperCase().charAt(0);

if(str.trim().equalsIgnoreCase("C") || str.trim().equalsIgnoreCase("F")){

if(unitCount == 1){
t1.setUnit(unit);
}else{
t2.setUnit(unit);
}
}else{
System.out.println("Invalid unit character for tempartue unit!");
continue;
}

unitCount++;
}catch(InputMismatchException mismatchExp){
System.out.println("Invalid value for tempartue unit!");
continue;
}
}
}

//转换成摄氏温度
public Temperature toCelsius(){

if(unit == 'C'){
return this;
}else{
return new Temperature((float)5F*(temprature - 32F)/9F, 'C');
}
}

//转换成华氏温度
public Temperature toFahrenheit(){
if(unit == 'F'){
return this;
}else{
return new Temperature((float)(9F*(temprature)/5F)+32F, 'F');
}
}

public void setTempratureValue(float temprature) {//设置温度值
this.temprature = temprature;
}

public void setUnit(char unit) {//设置单位
this.unit = unit;
}

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

public boolean equal(Temperature t2){//判断相等
t2 = convertToSameUnit(t2);
return t2.temprature == this.temprature;
}

public boolean isHigher(Temperature t2){//判断大于
t2 = convertToSameUnit(t2);
return this.temprature > t2.temprature;
}

public boolean isLower(Temperature t2){//判断小鱼
t2 = convertToSameUnit(t2);
return this.temprature < t2.temprature;
}

private Temperature convertToSameUnit(Temperature t2) {//转换成同样计量单位
if(t2.unit != unit){
if(t2.unit == 'C'){
return t2.toFahrenheit();
}else{
return t2.toCelsius();
}
}

return t2;
}

public String toString(){//重写toString方法
return temprature + " " + unit;
}
}

----------------
Please input value for temperature 1
a
Invalid value for tempartue!
Please input value for temperature 1
0
Please input value for temperature 2
bbbb
Invalid value for tempartue!
Please input value for temperature 2
32
Please input unit for temperature 1
a
Invalid unit character for tempartue unit!
Please input unit for temperature 1
ef
Invalid length for tempartue unit!
Please input unit for temperature 1
c
Please input unit for temperature 2
ss
Invalid length for tempartue unit!
Please input unit for temperature 2
F
Tempearture 1 is: 0.0 C
Tempearture 2 is: 32.0 F
0.0 C = 32.0 F? true
0.0 C > 32.0 F? false
0.0 C < 32.0 F? false

-----测试结果2
Please input value for temperature 1
12
Please input value for temperature 2
66
Please input unit for temperature 1
c
Please input unit for temperature 2
f
Tempearture 1 is: 12.0 C
Tempearture 2 is: 66.0 F
12.0 C = 66.0 F? false
12.0 C > 66.0 F? false
12.0 C < 66.0 F? true

------测试结果3
Please input value for temperature 1
12
Please input value for temperature 2
52
Please input unit for temperature 1
c
Please input unit for temperature 2
f
Tempearture 1 is: 12.0 C
Tempearture 2 is: 52.0 F
12.0 C = 52.0 F? false
12.0 C > 52.0 F? true
12.0 C < 52.0 F? false

大哥你的这个要求也太高了吧   给你一个地方你可以自己去看看  很快就能解决



原来是自己的作业 现在小学生也学会百度找人写作业了
大人教的..

已经发到你邮箱了,请查收。

限时多久?

郁闷,这么简单,能说清楚就不能自己写一个么.

我想让一个java程序(已打成jar包)开机自动启动,不启用命令行,该如何...
答:1.首先把jar解压到某个目录,全是class的那种。 2. 写一个bat ,cd 到jar目录, java 要运行的类,双击bat就能执行这段java程序。你懂的,不需要多解释。 3. 打开控制面板,任务计划,添加任务计划,选择写好的bat,运行周期为计算机启动...

高分求java打印程序!!!急!急!急!急!急!急!急!急!急!急!急!急!急!急...
答:需求如下:可批量打印包含中文和图片的doc\pdf\xls等文件,java实现,程序完整可直接运行,鼓励加注解,环境Eclipse3.2+jdk1.5+windowsXP,所需引用的jar包须指明出处及下载连接,如程... 需求如下:可批量打印包含中文和图片的doc\pdf\xls等文...

Java菜鸟学习编写第一个java程序HelloWorld
答:不管学哪门语言,第一个HelloWorld程序成功运行起来的时候,代表着你的学习已经跨进了一小步。做这个java实验之前,读者最少要在自己的电脑上安装好JDK(包括配置好环境变量),如果读者还不会安装JDK和配置环境变量可以看作者...

需要一个java程序
答:j < CLASS_NAME.length + 1; j++) {newGrades[i][j] = grades[this.sortGrades[i].sort][j];}}return newGrades;}}} 我发的代码老是会挤到一起,所以我再把程序截图给你:8-24行 25-41行 42-63行 64-...

用java写一个程序?
答:JAVA程序计算素数 设计JAVA application程序,计算出20000000~300000000之间所有的素数,并将找到的素数写入primefile.dat文件,以下是一个使用Java语言编写的程序,可以计算出20000000~300000000之间所有的素数,并将找到的素数写入prime...

编写JAVA程序实现一个简单的日历(高分求高手)(追加分)
答:编写JAVA程序实现一个简单的日历(高分求高手)(追加分) 主要功能包括显示当月的日历表,当日特殊显示。一定要用JAVA语言写。谢谢了eryaruoshui@126.com... 主要功能包括显示当月的日历表 ,当日特殊显示。 一定要用JAVA语言写。谢谢了...

写个java程序求一个数的绝对值
答:Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许...

高分求解几个java菜鸟级问题
答:Java还提供了第四种的默认可见性,当没有任何public,protected,private修饰时,成员是一包内可见 8.面向对象程序设计的三大特点是封装、继承和多态。 比如常用的String,它就是把基本类型string给封装成一个类对象了。继承,...

用java语言编写一个万年历程序,要求只显示阳历、节日、还有农历年、闰年...
答:2011-07-15 1.用Java语言编写一个程序,判断一个年份是否是闰年。 21 2011-01-12 如何用java编写带时钟的万年历代码,万年历要有阴历算法 3 2011-06-03 编写一个万年历程序,能显示日历,查询任意日期。 1. 日历初... 4 ...

java编程,三十名同学数学成绩输入一堆数组中,求平均分,求总分,求最高...
答:非常推荐用Java8的新特性Stream来解决这类求数据统计结果的,真的很方便,代码简洁而优雅 用到了IntSummaryStatistics类,这个类就包含了题主说的各种统计结果了 List<Student> list = Arrays.asList(new Student(100), new...

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网