java度量衡换算器
时间: 2023-12-04 14:41:47 浏览: 43
以下是一个Java度量衡换算器的例子,它可以将长度、重量和温度单位进行转换:
```java
import java.util.Scanner;
public class UnitConverter {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int choice = 0;
while (choice != 4) {
System.out.println("请选择要转换的单位类型:");
System.out.println("1.长度");
System.out.println("2.重量");
System.out.println("3.温度");
System.out.println("4.退出");
choice = input.nextInt();
switch (choice) {
case 1:
lengthConverter();
break;
case 2:
weightConverter();
break;
case 3:
temperatureConverter();
break;
case 4:
System.out.println("感谢使用本换算器!");
break;
default:
System.out.println("无效的选择,请重新输入!");
break;
}
}
}
public static void lengthConverter() {
Scanner input = new Scanner(System.in);
double value;
String fromUnit, toUnit;
System.out.println("请输入要转换的数值:");
value = input.nextDouble();
System.out.println("请输入要转换的单位:");
fromUnit = input.next();
System.out.println("请输入要转换成的单位:");
toUnit = input.next();
double result = 0;
if (fromUnit.equals("m")) {
if (toUnit.equals("cm")) {
result = value * 100;
} else if (toUnit.equals("km")) {
result = value / 1000;
} else {
result = value;
}
} else if (fromUnit.equals("cm")) {
if (toUnit.equals("m")) {
result = value / 100;
} else if (toUnit.equals("km")) {
result = value / 100000;
} else {
result = value;
}
} else if (fromUnit.equals("km")) {
if (toUnit.equals("m")) {
result = value * 1000;
} else if (toUnit.equals("cm")) {
result = value * 100000;
} else {
result = value;
}
} else {
System.out.println("无效的单位!");
return;
}
System.out.println(value + fromUnit + " = " + result + toUnit);
}
public static void weightConverter() {
Scanner input = new Scanner(System.in); double value;
String fromUnit, toUnit;
System.out.println("请输入要转换的数值:");
value = input.nextDouble();
System.out.println("请输入要转换的单位:");
fromUnit = input.next();
System.out.println("请输入要转换成的单位:");
toUnit = input.next();
double result = 0;
if (fromUnit.equals("kg")) {
if (toUnit.equals("g")) {
result = value * 1000;
} else if (toUnit.equals("lb")) {
result = value * 2.20462;
} else {
result = value;
}
} else if (fromUnit.equals("g")) {
if (toUnit.equals("kg")) {
result = value / 1000;
} else if (toUnit.equals("lb")) {
result = value * 0.00220462;
} else {
result = value;
}
} else if (fromUnit.equals("lb")) {
if (toUnit.equals("kg")) {
result = value / 2.20462;
} else if (toUnit.equals("g")) {
result = value / 0.00220462;
} else {
result = value;
}
} else {
System.out.println("无效的单位!");
return;
}
System.out.println(value + fromUnit + " = " + result + toUnit);
}
public static void temperatureConverter() {
Scanner input = new Scanner(System.in);
double value;
String fromUnit, toUnit;
System.out.println("请输入要转换的数值:");
value = input.nextDouble();
System.out.println("请输入要转换的单位:");
fromUnit = input.next();
System.out.println("请输入要转换成的单位:");
toUnit = input.next();
double result = 0;
if (fromUnit.equals("C")) {
if (toUnit.equals("F")) {
result = value * 9 / 5 + 32;
} else if (toUnit.equals("K")) {
result = value + 273.15;
} else {
result = value;
}
} else if (fromUnit.equals("F")) {
if (toUnit.equals("C")) {
result = (value - 32) * 5 / 9;
} else if (toUnit.equals("K")) {
result = (value + 459.67) * 5 / 9;
} else {
result = value;
}
} else if (fromUnit.equals("K")) {
if (toUnit.equals("C")) {
result = value - 273.15;
} else if (toUnit.equals("F")) {
result = value * 9 / 5 - 459.67;
} else {
result = value;
}
} else {
System.out.println("无效的单位!");
return;
}
System.out.println(value + fromUnit + " = " + result + toUnit);
}
}
```