编写一个UnitConversion类,封装一些常用的单位转换算法,比如:两个单位转换是英寸和厘米的转换,另一个是摄氏温度和华氏温度的转换(转换公式请自行查找资料)。要求该类不可被继承,也不可被实例化。然后编写一个测试类UnitConversionTest,通过键盘输入数据,测试UnitConversion类是否能够正常工作
时间: 2024-03-11 16:47:45 浏览: 190
Project8to3.rar_code algorithm OLB_单位转换
好的,我了解了你的要求。下面是UnitConversion类的代码实现:
```java
public final class UnitConversion {
private UnitConversion() {}
public static double inchToCm(double inch) {
return inch * 2.54;
}
public static double cmToInch(double cm) {
return cm / 2.54;
}
public static double celsiusToFahrenheit(double celsius) {
return celsius * 1.8 + 32;
}
public static double fahrenheitToCelsius(double fahrenheit) {
return (fahrenheit - 32) / 1.8;
}
}
```
这个类使用了私有的构造方法和 final 修饰符来防止被继承或实例化。其中,inchToCm() 和 cmToInch() 方法用于英寸和厘米的转换,celsiusToFahrenheit() 和 fahrenheitToCelsius() 方法用于摄氏温度和华氏温度的转换。
接下来是UnitConversionTest类的代码实现:
```java
import java.util.Scanner;
public class UnitConversionTest {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请选择要进行的转换:");
System.out.println("1. 英寸 -> 厘米");
System.out.println("2. 厘米 -> 英寸");
System.out.println("3. 摄氏度 -> 华氏度");
System.out.println("4. 华氏度 -> 摄氏度");
int choice = scanner.nextInt();
switch (choice) {
case 1:
System.out.print("请输入英寸数:");
double inch = scanner.nextDouble();
double cm = UnitConversion.inchToCm(inch);
System.out.println(inch + " 英寸 = " + cm + " 厘米");
break;
case 2:
System.out.print("请输入厘米数:");
double cm2 = scanner.nextDouble();
double inch2 = UnitConversion.cmToInch(cm2);
System.out.println(cm2 + " 厘米 = " + inch2 + " 英寸");
break;
case 3:
System.out.print("请输入摄氏度数:");
double celsius = scanner.nextDouble();
double fahrenheit = UnitConversion.celsiusToFahrenheit(celsius);
System.out.println(celsius + " 摄氏度 = " + fahrenheit + " 华氏度");
break;
case 4:
System.out.print("请输入华氏度数:");
double fahrenheit2 = scanner.nextDouble();
double celsius2 = UnitConversion.fahrenheitToCelsius(fahrenheit2);
System.out.println(fahrenheit2 + " 华氏度 = " + celsius2 + " 摄氏度");
break;
default:
System.out.println("输入有误!");
break;
}
scanner.close();
}
}
```
这个类通过键盘输入数据,选择要进行的转换,然后调用UnitConversion类中相应的方法进行转换。输出转换结果。
希望这个答案能够帮到你。
阅读全文