2013-03-06 147 views
-8

我试图用扫描仪获得用户输入,如果用户按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 
+1

您是否认为,如果您两次提出相同的问题,情况会有所改变? – bsiamionau 2013-03-06 07:45:36

+0

@zvzdhk谁知道... – 2013-03-06 07:47:13

+1

那里有一个工作答案在你最后问的问题。你只是不耐烦而已经提出一个新的问题而没有检查任何东西。 – goravine 2013-03-06 07:47:48

回答

0

删除\n和使用的println。让我知道它是否无效。

0

尝试使用in.nextLine()而不是in.next()。

+0

我尝试,但它也跳过输入语句 – Ahmar 2013-03-06 07:58:05