Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 1
Регистрация: 08.05.2013
Сообщений: 4
1

с ) Выведите из строки , содержащей слова , разделенные пробелами и запятыми , центральное слово ( если в предложении два центральных слова , выв

10.05.2013, 04:08. Показов 2194. Ответов 3
Метки нет (Все метки)

Помогите,пожалуйста ,с заданием ,совсем затупил:Выведите из строки,содержащей слова,разделенные пробелами и запятыми,центральное слово (если в предложении два центральных слова,выведите оба).как написать?
Добавлено через 18 часов 18 минут
исправьте ,пожалуйста,где я не прав:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package Lab;
 
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.xml.crypto.Data;
 
 
public final class WordsFounder {
 
    private Data<String> words;
 
    public WordsFounder() {
    }   
       
    public static void WordsFounder(String args[]) {
        this();
        this.find(args);
    }
 
    public WordsFounder find(String args) {
        Matcher m;
        m = Pattern.compile("(\\w+)").matcher(args);
        words = new ArrayData();
        while (m.find()) {
            words.add(m.group());
        }
        return this;
    }
 
    public Data<String> getWords() {
        return words;
    }
 
    public String[] getCentralWords() {
        if (words.size() % 2 == 0) {
            return new String[]{
                    words.get((int) (words.size() / 2 - 0.5)),
                    words.get((int) (words.size() / 2 + 0.5))
            };
        }
        return new String[]{words.get(words.size()/2)};
    }
}
Добавлено через 3 минуты
можно проще написать как нибудь?препод сказал что я слишком заморочился...
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.05.2013, 04:08
Ответы с готовыми решениями:

В строке, содержащей слова, разделенные пробелами и запятыми, разверните указанное слово справа налево
Помогите пожалуйста решить задачу. В строке, содержащей слова, разделенные пробелами и запятыми,...

Удалите из строки, содержащей слова, разделенные пробелами, запятыми и точками
с) Удалите из строки, содержащей слова, разделенные пробелами, запятыми и точками, у которых первая...

Удалить из строки повторяющиеся слова, разделенные пробелами, запятыми, точками
var a:string; b:arrayof string; c:arrayof integer; i,j,k:integer; begin writeln('vvedite...

Удалить из строки первое слово (слова разделяются пробелами, запятыми, точкой)
Помогите решить задачу Удалить из строки первое слово (слова разделяются пробелами, запятыми,...

3
2582 / 2255 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
10.05.2013, 07:34 2
Цитата Сообщение от pavel@87 Посмотреть сообщение
words.add(m.group());
тут неправ
Java
1
words.add(m.group(1));
а препод наверное хочет
String [] words = input.split(" ");
и скорее всего не хочет Data<String> а вместо чёт типа ArrayList<String>
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
11055 / 7011 / 1657
Регистрация: 25.07.2009
Сообщений: 12,775
10.05.2013, 17:36 3
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import java.util.Scanner;
 
class MiddleWords {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        
        while ( true ) {
            System.out.print("String: ");
            String str = scan.nextLine();
            if ( str.isEmpty() )
                break;
            String[] words = str.split("[, ]+");
            System.out.println("Middle word(s): " + ( ( ( words.length & 1 ) == 0 ) ? (words[words.length / 2 - 1] + " " + words[words.length / 2]) : words[words.length / 2]));
        }
    }
}
1
0 / 0 / 1
Регистрация: 08.05.2013
Сообщений: 4
10.05.2013, 17:58  [ТС] 4
Спасибо)
я замутил вот так подробненько и это прокатило!:
package lab;

public class Text {

String s = "дядя, пошел в лес за грибами.";

public Text() {
System.out.println(s);
int kolvoSlov = 0;
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == ' ') {
kolvoSlov++;
}
}
kolvoSlov++;
System.out.println("kolvoSlov=" + kolvoSlov);

String slova[] = new String[kolvoSlov];

String slovo = "";

int tekSlovo = 0;
for (int i = 0; i < s.length(); i++) {

if (s.charAt(i) == ' ') {
slova[tekSlovo] = slovo;
slovo = "";
tekSlovo++;
} else {
if ((s.charAt(i) != ',') && (s.charAt(i) != '.')) {
slovo = slovo + s.charAt(i);
}
}
slova[tekSlovo] = slovo;
}

if (kolvoSlov % 2 != 0) {
System.out.println(slova[slova.length / 2]);
} else {
System.out.println(slova[slova.length / 2 - 1] + " " + slova[slova.length / 2]);
}

}
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.05.2013, 17:58

Файл f1 - текст, f2 - слова, разделенные запятыми, образующие пару: 1 и 2. Найти в f1 слова 1 и заменить их на 2
Даны два символьных файла f1 и f2. Файл f1 содержит произвольный текст. Слова в тексте разделены...

Поменять местами первое и последнее слово строки, если слова разделены пробелами
есть вот это, но что то помоему это не на с++ #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include...

В тексте слова разделены пробелами и запятыми. Подсчитать, сколько раз каждое слово входит в строку
В тексте слова разделены пробелами и запятыми. Подсчитать, сколько раз каждое слово входит в строку.

Дана строка текста, в которой слова разделены пробелами и запятыми, вывести повторяющиеся слова
Помогите пожалуйста! Как мне найти и вывести повторяющиеся слова? П.С. При работе со строками не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru