检测java中的回车键

我试图用扫描仪获取用户输入,如果用户按Enter键,则继续下一个输入语句。 但它会立刻打印出来。

public class MainRDS { public static void main(String[] args) { Scanner in = new Scanner(System.in); String path; String name; String ext; String date; System.out.println("Directory search by path, name, extension, content and date."); System.out.print("\nEnter Starting directory for the search (link c:"+"\\"+"temp) : "); path = in.next(); System.out.print("\nEnter the file name (like myFile or enter for all) : "); if((name = in.nextLine()).length() > 0) System.out.print("\nEnter the file extenstion (like txt or enter for all) : "); if((ext = in.nextLine()).length() > 0) System.out.print("\nEnter last modified date (like 11/21/2012 or enter for any) : "); date = in.nextLine(); } } 

输出:

 Directory search by path, name, extension, content and date. Enter Starting directory for the search (link c:\temp) : c: Enter the file name (like myFile or enter for all) : myfile Enter last modified date (like 11/21/2012 or enter for any) : 

所需产量:

 Directory search by path, name, extension, content and date. Enter starting directory for the search (like c:\temp): c:\temp Enter the file name (like myFile or enter for all): Enter the file extension (like txt or enter for all): txt Enter content to search for (like comp121 or enter for any): Enter last modified date (like 11/21/2013 or enter for any): 11/1/2011 

你的代码非常好。你只需要更换你的第一行

 Scanner in = Scanner(System.in); 

 Scanner in =new Scanner(System.in); 

我无法理解你是如何测试这段代码的,因为这不是一个正在运行的代码,因为Scanner in = Scanner(System.in); 这条线

得到它了!

你需要使用:

 path = in.nextLine(); 

否则, name = in.nextLine()捕获路径的“enter”键,但不会获得任何值。

我刚刚测试了你的代码,它确实让用户按下“回车”键。你能解释一下你在寻找更具体的内容吗? 正如其他人所说,只需更改您的扫描仪:

 Scanner in = new Scanner(System.in); 

更改

 path = in.next(); 

 path = in.nextLine(); 

经过测试,所有打印出来并且工作正常!