2016-06-07 3 views
-2

Пожалуйста, помогите мне выяснить, как я могу получить результат, когда я выполняю поиск по определенной папке?Как вернуть количество элементов, найденных после поиска?

Также как я могу спросить пользователя, хотят ли они выполнить другой поиск?

// Importing utilities 
import java.io.File; 
import java.util.*; 

public class FileListing 
{  
    public static void main (String[] args) 
    { 
     // Creating a Scanner 
     Scanner keyboard = new Scanner(System.in); 

     // Specifying search location 
     File file = new File("D:/Music"); 

     String[] content = file.list(); 

     // Searching for a match 
     System.out.println("Enter the first few characters of the folder/file to do a lookup"); 
     String userInput = keyboard.nextLine(); 

     // Adding text to say what the user searched for 
     System.out.println("Below you will find the list of folders/files with a partial match to (" + userInput + ")."); 
     System.out.println(); 

     // Posting the contents 
     for(String folders : content) 
     { 
      if(folders.toUpperCase().startsWith(userInput.toUpperCase())) 
      { 
       System.out.println("Name: " + folders); 
      } 
     } 
    } 
} 

ответ

0

Если вы хотите посчитать свои матчи вы можете сделать следующее

int i=0; 
    // Posting the contents 
    for(String folders : content) 
    { 
     if(folders.toUpperCase().startsWith(userInput.toUpperCase())) 
     { 
      System.out.println("Name: " + folders); 
      i++; 
     } 
    } 
    System.out.println("Total number of results: " + i);` 

Как для запроса пользователю, рекомендуется использовать делать-то время как цикл в следующем формате

do{ 
// your code 
// ask user and read his answer on a string called userChoice 
}while (userChoice.equals('y')) 

Поэкспериментируйте с нашими предложениями, и вы найдете ответ достаточно легко!

+0

backticks для встроенного кода, такого как 'this' ... для создания блоков кода, отступ кода с 4 пробелами. Или выберите его и нажмите значок {} вверху. – Arjan

+0

Спасибо, я смог добиться того, что искал. –

0

Я хотел бы добавить переменную

int count = 0; 

прямо перед цикл, а просто увеличить его, если это совпадение.

0

Это должно заставить вас начать. Я увеличиваю переменную count каждый раз, когда найдено совпадение. Я также зацикливаюсь навсегда, поэтому он продолжает запрашивать у пользователя больше информации.

// Importing utilities 
import java.io.File; 
import java.util.*; 
public class FileListing 
{  
    public static void main (String[] args) 
    { 
     // Creating a Scanner 
     Scanner keyboard = new Scanner(System.in); 

     // Specifying search location 
     File file = new File("D:/Music"); 

     String[] content = file.list(); 

     while(true){ 

      // Searching for a match 
      System.out.println("Enter the first few characters of the folder/file to do a lookup"); 
      String userInput = keyboard.nextLine(); 

      // Adding text to say what the user searched for 
      System.out.println("Below you will find the list of folders/files with a partial match to (" + userInput + ")."); 
      System.out.println(); 

      // Posting the contents 
      int count=0; 
      for(String folders : content) 
      { 
       if(folders.toUpperCase().startsWith(userInput.toUpperCase())) 
       { 
        System.out.println("Name: " + folders); 
        count++; 
       } 
      } 
     } 
    } 
} 
+0

Благодарим вас за это. –

0

Используйте цикл while и предложите пользователю ввести фразу (например, «exit»), если они хотят остановиться. Прочитав ввод пользователя, проверьте фразу и вызовите перерыв, если она соответствует фразе выхода.

Используйте переменную, чтобы Роберт подсчитал общее количество найденных файлов.

Смежные вопросы