字符输入java中的异常
所以我尝试用java输入一个字符 如果用户输入多个字符,则需要使用try-and-catch语句捕获它字符输入java中的异常,java,input,try-catch,character,Java,Input,Try Catch,Character,所以我尝试用java输入一个字符 如果用户输入多个字符,则需要使用try-and-catch语句捕获它 choice=scnr.next().charAt(0); 有没有关于如何使用try-catch语句来执行此操作的想法?没有。您不需要在此处尝试或捕获,因为您不会遇到任何异常。您只是获取输入的第一个字符。这会自动忽略下一个字母 如果您仍然想警告用户输入字符串,可以手动抛出异常 String input = s.next(); if (input.length(
choice=scnr.next().charAt(0);
有没有关于如何使用try-catch语句来执行此操作的想法?没有。您不需要在此处尝试或捕获,因为您不会遇到任何异常。您只是获取输入的第一个字符。这会自动忽略下一个字母 如果您仍然想警告用户输入字符串,可以手动抛出异常
String input = s.next();
if (input.length() > 1) {
throw new IllegalArgumentException("Please enter single character.");
}
char choice = input.charAt(0);
谢谢,但我需要在try-and-catch语句中获取一个输入,我是否应该使用其他东西获取一个可能引发异常的输入?即使您在try-catch中获取输入,您不会得到异常。您可以找到获取输入的方法,这些输入理论上可能引发IOException,或者可以控制抛出FileNotFoundException(IOException的子类)。如果用户输入两个字符而不是一个字符,我想不出一种方法会自动抛出异常。当然,您可以将答案中的代码包装在try/catch中,并捕获IllegalArgumentException抛出。理论上,charAt可能抛出StringIndexOutOfBoundsException,即如果字符串为空。但是,不确定它是否会在您的代码中实际发生。使用try-catch的要求听起来很有趣。学校作业?是的,学校作业;-;