Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
字符输入java中的异常_Java_Input_Try Catch_Character - Fatal编程技术网

字符输入java中的异常

字符输入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(

所以我尝试用java输入一个字符 如果用户输入多个字符,则需要使用try-and-catch语句捕获它

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的要求听起来很有趣。学校作业?是的,学校作业;-;