请编写一个Java程序,要求输入一个整数n,然后输出n个随机字母,如果n不在1到10之间,则抛出一个自定义的异常InvalidInputException,并在主函数中进行捕获和处理。
时间: 2024-03-26 07:38:11 浏览: 51
简单的java输入异常处理
5星 · 资源好评率100%
好的,以下是实现代码:
```
import java.util.Random;
class InvalidInputException extends Exception {
public InvalidInputException(String message) {
super(message);
}
}
public class RandomLetters {
public static void main(String[] args) {
try {
int n = Integer.parseInt(args[0]);
if (n < 1 || n > 10) {
throw new InvalidInputException("n必须在1到10之间");
}
String letters = generateRandomLetters(n);
System.out.println(letters);
} catch (NumberFormatException e) {
System.out.println("输入不是一个整数");
} catch (InvalidInputException e) {
System.out.println(e.getMessage());
}
}
private static String generateRandomLetters(int n) {
Random rand = new Random();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < n; i++) {
char c = (char) ('a' + rand.nextInt(26));
sb.append(c);
}
return sb.toString();
}
}
```
在这个程序中,我们首先定义了一个自定义的异常类InvalidInputException。然后在主函数中,我们尝试从命令行参数中读取一个整数n,并检查n是否在1到10之间。如果n无效,我们抛出一个InvalidInputException异常。如果输入不是一个整数,我们捕获NumberFormatException异常。如果抛出了InvalidInputException异常,我们捕获这个异常并输出其错误信息。最后,如果一切正常,我们调用generateRandomLetters函数生成n个随机字母,并输出到控制台上。
阅读全文