Java 如何接受enter作为Scanner.nextLine()的有效输入?
我只想让扫描器将新行读取为空字符串,然后在用户按enter键时继续下一个过程。所以有效输入必须是y,n,enter。你知道怎么做吗 这是我的代码:Java 如何接受enter作为Scanner.nextLine()的有效输入?,java,Java,我只想让扫描器将新行读取为空字符串,然后在用户按enter键时继续下一个过程。所以有效输入必须是y,n,enter。你知道怎么做吗 这是我的代码: String gender = "", employed = ""; Scanner in = new Scanner(System.in); System.out.print("Gender M/F, press enter to skip... "); while(!in.hasNext("[mfMF]$")){ System.out.p
String gender = "", employed = "";
Scanner in = new Scanner(System.in);
System.out.print("Gender M/F, press enter to skip... ");
while(!in.hasNext("[mfMF]$")){
System.out.print("Invalid, please choose m/f only... ");
in.nextLine();
}
if(in.hasNextLine()){
gender = in.nextLine();
}
System.out.print("Employed? y/n, press enter to skip... ");
while(!in.hasNext("[ynYN]$|")){
System.out.print("Invalid, please choose y/n only... ");
in.nextLine();
}
if(in.hasNextLine()){
employed = in.nextLine();
}
System.out.println(gender + " : " + employed);
因此,要检查用户是否按了enter键,必须使用isEmpty()方法。方法如下所示:
String enter = in.nextLine();
if (enter.isEmpty()) {
// do what is needed
}
因此,要检查用户是否按了enter键,必须使用isEmpty()方法。方法如下所示:
String enter = in.nextLine();
if (enter.isEmpty()) {
// do what is needed
}
试试这个:
import java.util.*;
class Scanner1
{
public static void main(String args[])
{
Scanner sc=new Scanner(System.in);
String s;
do
{
s=sc.nextLine();
if(!(s.equalsIgnoreCase("y")||s.equalsIgnoreCase("n")||s.equalsIgnoreCase("")))
{
System.out.println("Please Enter valid input");
}
}while(!(s.equalsIgnoreCase("y")||s.equalsIgnoreCase("n")||s.equalsIgnoreCase("")));
}
}
试试这个:
import java.util.*;
class Scanner1
{
public static void main(String args[])
{
Scanner sc=new Scanner(System.in);
String s;
do
{
s=sc.nextLine();
if(!(s.equalsIgnoreCase("y")||s.equalsIgnoreCase("n")||s.equalsIgnoreCase("")))
{
System.out.println("Please Enter valid input");
}
}while(!(s.equalsIgnoreCase("y")||s.equalsIgnoreCase("n")||s.equalsIgnoreCase("")));
}
}