Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > неправильный расчет количества слов, если вначале


Автор: MAXIM2000 20.12.2012, 13:06
Здравствуйте!
Каким образом можно исправить такой недочет, я ввожу текст в текстовую область в своей программке (код внизу) и если начинать вводить текст с пробела или нажать кнопку Tab для отступа, то это засчитывается как слово, т.е. количество символов отображается верно, а количество слов не правильно (см. рисунок, сначало пробел а потом ввел букву А и зачиталось как два слова, вместо одного).
Код

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);
    }
    }
 

Автор: jk1 20.12.2012, 17:58
Заменить

Код

area.getText().split(" ").length


на

Код

area.getText().trim().split(" ").length

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