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 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
#15995592719#
JAVA语言程序设计几道习题求解 - ******
#乌彭# 你这些题目都是Java学习的基础,我给你写写第四个程序 void main(){ int number=100;//数组的个数 int a[]=new int[number]; int min=a[0];//最小值 int max=a[0];//最大值 float average=0;//平均值 int sum=0;//数组元素的和 for(int i=0;iif(min>a[i])min=a[i]; if(maxsum+=a[i]; } average=sum*1.0/number; }
#15995592719#
Java程序设计题 ******
#乌彭# public class Driver extends Thread{ private Worker worker; public Driver(Worker worker) { this.worker = worker; } @Override public void run() { System.out.println("运货司机等装运工完成工作"); worker.start(); try { worker.join(); } catch (...
#15995592719#
高分求救向您乞求解答一道计算机软件编程题(JAVA高分求救:向您 ******
#乌彭# 代码见附件,应该能满足要求. 编译后直接运行Test.java里的main函数就可以看到执行结果了. 有问题请投条我
#15995592719#
高分求java程序代码 要实现网速测量.类似ping这样的功能. - ******
#乌彭# Java代码 public class PingTest {public static void main(String args[]){String[] addrs= {"www.baidu.com"};if (addrs.length{System.out.println("syntax Error!");}else{for(int i=0;i String line = null;try{Process pro = Runtime.getRuntime...
#15995592719#
Java问题 高分求解!!!!!! ******
#乌彭# import java.util.Random; /** * 实现输出52张扑克牌 分给四个人A B C D */ public class Poker { public static void main(String args[]) throws Exception { Random random = new Random(); int[] poker = getPoker(); int j = 0; int temp = 0; for (int i = 0; i &...
#15995592719#
JAVA高手进来看下,高分求解,回答得好令有追加积分 - ******
#乌彭# 题目一: public class Test1{//从数组起始位置0开始往后报数,第一个报数为1,报到3时,将数组的对应元素置为0,下次不在报数 public void game(int []array){ int total=array.length;//获取数组的长度,同时也知道了有多少个1 int count=1,...
#15995592719#
高分求助:Java自定义脚本语言解释器的设计实现思路 - ******
#乌彭# 这个你有编译原理基础的话,就在找本编译原理的书看,会想起来怎么做的.这个解析过程并不太难.如果你没学过编译原理,那就别看了,短时间内掌握不了的.可以参考这个思路: 建立一个替换表: {”如果“ : "if", "并且" : "&&...
#15995592719#
高级语言程序设计(基于JAVA)阶段性作业(三)高分求助!! - ******
#乌彭# 1.interface A {void print();}2.重载就是一个类中有多个同名但有不同形参和方法体的方法3.某个非抽象类的父类是抽象类,则这个子类必须重载父类的所有抽象方法4.重复代码5.构造函数与类同名6.可以让方法返回数值7.方法没有返回值8.可以没有9.可能在方法内的局部可见
#15995592719#
计算机java程序设计与算法试题求解 ******
#乌彭# .java 解释 不执行 高级 main 声明 String 顺序、选择、循环 false 没有 90 true 静态 局部变量 Integer.parseInt() 5 break、continue、return random.nextInt(100) 定义一个数组的引用、对数组进行初使化、数组越界 封装、继承、多态 path、classpath...
#15995592719#
JAVA部分试题求解~ ******
#乌彭# 1 .java 2 编译 3 不执行 4 看不懂问题 5 main()方法 6 初始化(当然要声明之后再初始化) 7 char 8 顺序 循环 条件 9 flase 10 没有 11 90 abs是去绝对值的 12 true 13 静态 14 局部变量 15 Integer.parseInt(String a) 16 5 (a>b)?a:b的意思是判断括...