java创建Length类,完成在英尺制和米制之间的转化 仅限英尺,英寸与厘米和米之间的转换
时间: 2024-09-25 12:06:32 浏览: 36
Java中字符数组和字符串与StringBuilder和字符串转换的讲解
在Java中,我们可以创建一个名为`Length`的类,包含两个私有字段分别表示长度值以及单位标识(如`FEET`、`INCHES`、`CENTIMETERS`和`METERS`)。然后我们提供一些公共方法来进行单位间的转换。下面是一个简单的例子:
```java
public class Length {
private double value;
private String unit;
// 构造函数接受数值和单位
public Length(double valueInFeet, String unit) {
this.value = valueInFeet;
if (unit.equals("FEET")) {
this.unit = "FEET";
} else if (unit.equals("INCHES") || unit.equals("CM") || unit.equals("METERS")) {
throw new IllegalArgumentException("Invalid unit");
} else {
throw new IllegalArgumentException("Unsupported unit");
}
}
// 将英尺转换为其他单位
public double toCentimeters() {
return value * 30.48; // 英尺到厘米的换算率
}
public double toMeters() {
return value * 0.3048; // 英尺到米的换算率
}
// 用于演示转换为米,但此方法仅支持英尺单位
public double convertToMeters() {
if (unit.equalsIgnoreCase("FEET")) {
return toMeters();
} else {
throw new IllegalStateException("Cannot convert to meters from non-feet units");
}
}
// 获取值和单位
@Override
public String toString() {
return String.format("%.2f %s", value, unit);
}
// 其他可能需要的方法,如设置值或检查当前单位
// ...
//
阅读全文