用java编写程序:计算两数相乘的结果,要求乘数不能超过99,超过99就抛出异常
时间: 2024-10-29 12:16:28 浏览: 17
浅谈Java double 相乘的结果偏差小问题
在Java中,你可以使用try-catch语句来处理可能的异常情况。当乘数超过99时,可以抛出一个自定义的异常或者已有的`ArithmeticException`。下面是一个简单的示例:
```java
public class Multiplication {
public static void main(String[] args) {
int multiplier = getValidMultiplier(); // 获取输入的乘数
try {
int result = multiplyNumbers(multiplier);
System.out.println("The product is: " + result);
} catch (NumberFormatException e) {
System.out.println("Error: Multiplier exceeds 99. Please enter a number between 0 and 99.");
}
}
private static int getValidMultiplier() {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter the first multiplier (between 0 and 99): ");
String input = scanner.nextLine();
try {
int number = Integer.parseInt(input);
if (number > 99) {
throw new NumberFormatException("Multiplier must be less than or equal to 99");
}
return number;
} catch (NumberFormatException e) {
System.out.println(e.getMessage());
return getValidMultiplier(); // 如果输入无效,再次获取
}
}
private static int multiplyNumbers(int multiplier) {
return multiplier * multiplier; // 这里假设用户只输入了一个数字,如果需要处理两个数相乘,只需传入另一个数即可
}
}
```
在这个程序中,`getValidMultiplier()`函数用于获取用户的输入并检查是否在有效范围内。如果输入大于99,它会抛出一个`NumberFormatException`。在主函数`main()`中,我们捕获这个异常并给出相应的错误信息。
阅读全文