Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
MAXIM2000
1 / 1 / 2
Регистрация: 05.11.2012
Сообщений: 63
1

Неправильный подсчет количества слов, если вначале пробел или отступ

20.12.2012, 11:37. Просмотров 545. Ответов 5
Метки нет (Все метки)

Здравствуйте!
Каким образом можно исправить такой недочет, я ввожу текст в текстовую область в своей программке (код внизу) и если начинать вводить текст с пробела или нажать кнопку Tab для отступа, то это засчитывается как слово, т.е. количество символов отображается верно, а количество слов не правильно (см. рисунок, сначало пробел а потом ввел букву А и зачиталось как два слова, вместо одного).
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
 
import java.awt.BorderLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JTextArea;
    import javax.swing.JTextField;
    import javax.swing.event.DocumentEvent;
    import javax.swing.event.DocumentListener;
    public class Button extends JFrame {
    JButton but;
    JTextArea area;
    JTextField tf;
    Button(){
    super();
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setSize(300, 350);
    setLayout(new BorderLayout());
    but = new JButton("enter");
    add(but, BorderLayout.NORTH);
    area = new JTextArea();
area.setLineWrap(true);
    add(area, BorderLayout.CENTER);
    tf = new JTextField(50);
    add(tf, BorderLayout.SOUTH);
    but.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent arg0) {
    // TODO Auto-generated method stub
    tf.setText("Количество символов: " + (area.getText().length() - area.getText().split(" ").length + 1) + ", Количество слов: " + area.getText().split(" ").length);
    }
    });
    }
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    new Button().setVisible(true);
    }
    }
0
Изображения
Тип файла: jpg 1.JPG (22.8 Кб, 4 просмотров)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2012, 11:37
Ответы с готовыми решениями:

Подсчет количества слов в строке s разделенных пробелами, или запятой
Нужно написать простую программку на C или C + + ... Подсчет количества слов в строке s разделенных...

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

Неправильный подсчет количества полей
Всем привет . Пытаюсь реализовать прикладную задачу – за выбранный период происходит расчет...

Неправильный подсчет количества лет
Доброго времени суток! Народ подскажите в чем проблема! есть запрос для вывода возраста, но...

Неправильный подсчет слов
Сделал подсчет слов в тексте string x = Convert.ToString(richTextBox1.Text); string textArray =...

5
tankomaz
ɐwʎ ɔ vǝmоɔ dиw ɐʚонɔ
441 / 440 / 100
Регистрация: 14.10.2012
Сообщений: 1,147
Записей в блоге: 9
20.12.2012, 14:12 2
.trim удалит все "пробелы" в начале и конце строки (вызывать перед операциями с текстом)
0
MAXIM2000
1 / 1 / 2
Регистрация: 05.11.2012
Сообщений: 63
20.12.2012, 14:54  [ТС] 3
получается мне надо прописать .trim в кнопку? правильно понял?
0
Fonduee
Музыка нас Связала
231 / 231 / 52
Регистрация: 26.03.2008
Сообщений: 616
20.12.2012, 15:57 4
На твой текст: line.trim(); А дальше идет уже подсчет слов и знаков.
0
MAXIM2000
1 / 1 / 2
Регистрация: 05.11.2012
Сообщений: 63
20.12.2012, 16:38  [ТС] 5
Цитата Сообщение от Fonduee Посмотреть сообщение
На твой текст: line.trim(); А дальше идет уже подсчет слов и знаков.
пробывал прописывать line.trim(); до подсчета символов,но программа не проходит ошибка при компиляции выдается
0
tankomaz
ɐwʎ ɔ vǝmоɔ dиw ɐʚонɔ
441 / 440 / 100
Регистрация: 14.10.2012
Сообщений: 1,147
Записей в блоге: 9
20.12.2012, 16:56 6
Java
1
2
3
4
5
6
7
8
9
10
11
            @Override
            public void actionPerformed(ActionEvent arg0) {
                // TODO Auto-generated method stub
                tf.setText("Количество символов: "
                        + (area.getText().length() // вот тут .trim()
                                - area.getText().split(" ").length + 1)
                        + ", Количество слов: "
                        + area.getText().trim().split(" ").length); //вот тут наш trim
            }
        });
    }
вот тут, в комментарии указал где именно
1
20.12.2012, 16:56
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2012, 16:56

Быстрая сортировка, неправильный подсчет количества сравнений и перестановок
Сортирует верно (по убыванию элементов в строке), а кол-во сравнений и перестановок выдает ошибочно...

Вставить пробел в строку после каждого символа «.» «,» «!» или «?», если за этими символами не следует пробел
Вставить пробел после каждого символа «.» «,» «!» или «?», если за этими символами не следует...

Подсчет количества слов
Подсчитать количество слов длиной не менее пяти символов в каждой строке файла. Полученный массив...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.