Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [java]определить количество слов в строке


Автор: zoja3917 28.2.2011, 00:45
Помогите решить на java : сколько в символьной строке слов, имеющие в первом слове средний символ(символ который находится в середине первого слова) ,например набираем слова (тетрадь; книга; ручка;цветок в середине первого слова буква (р), так вычислить сколько слов в строке, имеют букву (р), т к у нас в середине первого слова символ (р)только (тетрадь и ручка) 

Автор: LSD 1.3.2011, 12:38
Код

import java.util.ArrayList;
import java.util.List;

public class App {
    public static void main(String[] args) throws Exception {
        String str = "тетрадь; книга; ручка;цветок";
        String[] words = str.split("\\s*;\\s*");
        if (words.length == 0) {
            System.err.println("No words found");
            System.exit(1);
        }

        String firstWord = words[0];
        Character centralChar = getCentralChar(firstWord);
        if (centralChar == null) {
            System.err.println("First word '" + firstWord + "' does not have central char");
            System.exit(1);
        }

        char c = centralChar;
        List<String> result = new ArrayList<String>();
        for (String word : words) {
            if (word.indexOf(c) != -1){
                result.add(word);
            }
        }

        System.out.println("result = " + result);
    }

    private static Character getCentralChar(String str) {
        if (str == null || str.length() == 0 || str.length() % 2 == 0) {
            return null;
        }
        return str.charAt(str.length() / 2);
    }
}

Автор: zoja3917 2.3.2011, 00:20
Спасибо большое !!! Вы мне очень сильно помогли.

Автор: zoja3917 2.3.2011, 22:28
String str = "тетрадь; книга; ручка;цветок"; 
 Подскажите как можно сделать чтоб результат считал без точки с запятой
String str = "тетрадь  книга  ручка  цветок"; 

Автор: zoja3917 3.3.2011, 04:30
Все разобралась сама, задача решена.

Автор: zoja3917 3.3.2011, 15:02
Подскажите пожалуйст, как можно сделать ,чтоб выводились еще и количество слов в цифрах ,в нашем примере должно выводиться "2"

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)