请编写一个Java程序,要求输入一个整数n,然后输出n个随机字母,如果n不在1到10之间,则抛出一个自定义的异常InvalidInputException,并在主函数中进行捕获和处理。
时间: 2024-03-25 07:37:49 浏览: 13
以下是一个示例代码,实现了输入一个整数n,然后输出n个随机字母。如果n不在1到10之间,则抛出一个自定义的异常InvalidInputException,并在主函数中进行捕获和处理。
```java
import java.util.Random;
class InvalidInputException extends Exception {
public InvalidInputException(String message) {
super(message);
}
}
public class Main {
public static void main(String[] args) {
try {
int n = Integer.parseInt(args[0]);
if (n < 1 || n > 10) {
throw new InvalidInputException("n must be between 1 and 10");
}
Random r = new Random();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < n; i++) {
char c = (char) ('a' + r.nextInt(26));
sb.append(c);
}
System.out.println(sb.toString());
} catch (NumberFormatException e) {
System.out.println("Invalid input: " + e.getMessage());
} catch (InvalidInputException e) {
System.out.println("Invalid input: " + e.getMessage());
}
}
}
```
在上述代码中,我们定义了一个自定义的异常类InvalidInputException,用于表示输入不合法的情况。在主函数中,我们首先尝试将输入的参数解析为整数,如果解析失败则捕获NumberFormatException异常并输出错误信息。如果解析成功,我们检查n是否在1到10之间,如果不是则抛出InvalidInputException异常。如果n合法,则使用Random类生成n个随机字母,并输出结果。如果抛出了InvalidInputException异常,则捕获并输出错误信息。