Java 如何忽略返回字符
我编写了这段代码,因此如果用户按enter键,它将抛出自定义异常 另一方面,它将返回用户条目。但是当我第一次运行此代码时,不管它是空的还是字符串,此代码都会抛出自定义异常。不知道如何修复此问题Java 如何忽略返回字符,java,exception-handling,Java,Exception Handling,我编写了这段代码,因此如果用户按enter键,它将抛出自定义异常 另一方面,它将返回用户条目。但是当我第一次运行此代码时,不管它是空的还是字符串,此代码都会抛出自定义异常。不知道如何修复此问题 public static String validEmpty(Scanner sc, String prompt) { String userEntry = null; Boolean isValid = true; while (isValid) {
public static String validEmpty(Scanner sc, String prompt)
{
String userEntry = null;
Boolean isValid = true;
while (isValid)
{
System.out.print(prompt);
try
{
if ((userEntry=sc.nextLine()).isEmpty())
throw new CustomException();
else
return userEntry;
}
catch (InputMismatchException e)
{
sc.nextLine();
System.out.println("Error! Name must be alphabets only!");
}
catch (CustomException e)
{
sc.nextLine();
System.out.println("Error! Entry Cannot Be blank!");
}
}
return userEntry;
}
是否尝试删除行尾str=str.replace\r、.replace\n、,;你有没有逐条查过密码。。另外,请看一下前面的stackoverflow帖子,为您提供一些备选方案。这是Java应用程序还是C winforms或C Console应用程序?此代码在我第一次运行此代码时引发自定义异常[…]这是您在调用nextLine之前调用nextLine之类的扫描程序方法的症状。如果该问答不能帮助您解决问题,您应该向我们提供答案。是的,我尝试过,但无效。请尝试用If替换ifuserEntry=sc.nextLine.isEmpty!scanner.hasNextLine和else返回userEntry=scanner.nextLine