gpt4 book ai didi

java - 在Java中使用异常处理强制用户输入字符(字母)而不是字符串

转载 作者:行者123 更新时间:2023-11-30 06:47:30 27 4
gpt4 key购买 nike

假设我有一些代码,例如:

Scanner scan = new Scanner(System.in);

System.out.print("Please input a letter: ");
char userLetter = nextLine().charAt(0);

我想使用异常处理来确保用户只输入一个字母而没有其他内容。有什么好的办法吗?

最佳答案

如果您需要引入异常处理,我会这样做:

Scanner scan = new Scanner(System.in);
char c;
while(true) {
System.out.print("Please input a letter: ");
try {
String s = scan.next();
if(s.length() > 1) {
throw new RuntimeException("Input too long!");
}
c = s.charAt(0);
if (Character.isLetter(c)){
throw new RuntimeException("Char is not a letter!");
}

// here you can break the loop and do whatever

} catch(RuntimeException re){
System.out.print(re.getMessage());
// you can break the loop or try again
}
}

附注在现实应用程序中,使用异常来控制执行流程被认为是一种不好的做法。因此请记住,此代码只能用作练习。

关于java - 在Java中使用异常处理强制用户输入字符(字母)而不是字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43448501/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com