2016-02-26 2 views
-1

Мне нужен способ поиска слова в файле только с использованием length(), charAt(), toUpperCase() и toLowerCase() методов.Поиск и подсчет слова из строки

В конечном счете, я использую это для файла, но для практики я собираюсь использовать простую строку.

Это то, что я должен далеко:

public class WordSearch 
{ 
    public static void main(String [] args) 
    { 
    String str = "This is a sentence I am using as an example example Example."; 
    String word = "example"; 
    int wordCounter = 1; 

     for(int i; i < str.length(); i++) 
     { 
     if(str.charAt(i) == ' ') 
      wordCounter++; 
     } 

    } 
} 
+1

...... Домашнее задание? – Ian

+0

любопытство .. его проект вид хорошо его часть в любом случае. Все методы String и StringBuilder, которые я хочу использовать, я не могу использовать их вообще. Я знаю, что мне нужно использовать цикл for, но не могу понять, как – Naomi

ответ

0

Вот общий обзор о том, как сделать это в то время как в соответствии с вашими требованиями.

  • Загрузите файл в память в виде строки. Сделайте строку файла и строку слова строчными.

  • Создайте счетчик, который будет отслеживать, сколько всего слова найдено. Установите его на 0 изначально

  • Петля от первого символа до последнего символа. Если персонаж, на котором вы находитесь, соответствует первому символу вашего слова, увеличивайте счетчик. Затем для следующего символа посмотрите, совпадает ли он с вторым символом слова, если это снова увеличит счетчик и т. Д. Если символы не совпадают, сбросьте счетчик на 0 Когда ваш счетчик равен длине слова, вы нашли слово.

Примечание: Использование сканера и чтение полукокса на гольца гораздо больше памяти эффективным способом решения этой задачи.

+0

Я вроде как получаю то, что вы говорите ... Я делаю вложенные для циклов или нескольких операторов if ... – Naomi

1
String text = "This is a ship shipping-ship, shipping shipping ships"; 
    String word = "shipping"; 
    String text1 = text.contains(" " + word + " ") ? text.replace(" " + word + " ", "") : text; 
    System.out.println((text.length() - text1.length())/word.length()); 
Смежные вопросы