编写程序,提示用户输人长度(以尺为单位)并输出等价长度(以米为单位)。如果用户输人一个负数或非数宇宇符,则抛出并处理相应异常,并提示用户输人另一组数组。
时间: 2024-02-15 09:05:18 浏览: 53
以下是Java代码实现:
```java
import java.util.InputMismatchException;
import java.util.Scanner;
public class LengthConversion {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (true) {
try {
System.out.println("请输入长度(以尺为单位):");
double foot = sc.nextDouble();
if (foot < 0) {
throw new IllegalArgumentException("长度不能为负数!");
}
double meter = foot * 0.3048;
System.out.println("等价长度为:" + meter + "米");
break;
} catch (InputMismatchException e) {
System.out.println("输入错误,请输入数字!");
sc.next();
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
}
}
sc.close();
}
}
```
程序使用了`Scanner`类获取用户输入的长度(以尺为单位),然后进行换算为等价长度(以米为单位)。当用户输入非数字或负数时,程序会抛出并处理相应异常,提示用户重新输入。
阅读全文