Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Использования Tokenizer 
:(
    Опции темы
Bort
Дата 29.9.2007, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 26.7.2007

Репутация: нет
Всего: нет



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

Вот листинг:
Код

import java.awt.*;
import java.awt.event.*;
import java.util.*;

public class BortString extends Frame
{
TextField textField1;
TextField textField2;
Button button1;
String strres;

public BortString()
{
    super("BortString");
    setSize(450,300);
    setLayout(new FlowLayout());

    Label label1 = new Label("String");
    add (label1);
    textField1=new TextField(40);
    add (textField1);

    Label label2 = new Label("Result");
    add (label2);
    textField2=new TextField(40);
    add (textField2);

    button1=new Button("Check");
    add(button1);

    show();
}
public static void main (String args[])
    {
    new BortString();
    }

/////EXIT/////
public boolean handleEvent(Event evt)
    {
        if (evt.id == Event.WINDOW_DESTROY)
        {
          System.exit(0);
          return true;
        }
    return super.handleEvent(evt);
    }

/////Action/////
    public boolean action(Event evt, Object arg)
    {
        if (arg == "Check")
        {
            String str = textField1.getText();
        StringTokenizer tokenizer=new StringTokenizer(str);/////////////////look more
        String str1=tokenizer.nextToken();
        String str2=tokenizer.nextToken();
        String str3="";
        for (int i=str2.length();i>0;i--)
        str3=str3+str2.substring(i-1,i);
        if (str1.equals(str3))
            strres="Polindrome";
        else
            strres="Not polindrome";
         textField2.setText(strres);
          repaint();
         return true;
        }
        else
            return false;
    }
}


вродь все правльно: считую число задом наперед и потом сверяю - если да, то вывожу резульатат... но сам результат не выводится.
Подскажите пожалуйста
PM MAIL   Вверх
lazycat
Дата 29.9.2007, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 15.7.2007

Репутация: нет
Всего: 1



Вы используете метод handleEvent, который объявлен deprecated почти 10 лет назад!
Советую Вам сделать нормальный обработчик, т.е. реализовать ActionListener. Глядишь.
проблема исчезнет сама собой. А если останется, можно будет задавать вопрос,
наверняка кто-нибудь поможет. А в таком виде вряд ли кто-то разбираться захочет.

PM MAIL   Вверх
Bort
Дата 29.9.2007, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 26.7.2007

Репутация: нет
Всего: нет



пробовал вывести хоть какойто промежуточный результат. Так вот в textField2 вообще ничего не выводится... проблема скорее всего в этом... не выводит даже введенное значение... а вот почему понять не могу...
PM MAIL   Вверх
powerOn
Дата 29.9.2007, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 31
Всего: 159



Вопроса у меня есть два smile :
1) Вот у Вас есть метод action, а зачем он нужен? Кто его вызывает?
2) Почему используете AWT, а не Swing?


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
Bort
Дата 29.9.2007, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 26.7.2007

Репутация: нет
Всего: нет



если чесно: я студент и нам давали такой пример... понему и работаю...

по этой проге лажа была вот тут:
Код

String str1=tokenizer.nextToken();
String str2=tokenizer.nextToken();


заменил на вот это:
Код

String str1=tokenizer.nextToken();
String str2=str1;


теперь осталось узнать как оно будер работать...
PM MAIL   Вверх
powerOn
Дата 29.9.2007, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 31
Всего: 159



Цитата(Bort @  29.9.2007,  22:23 Найти цитируемый пост)
если чесно: я студент

ну и я тоже студент smile

Цитата(Bort @  29.9.2007,  22:23 Найти цитируемый пост)
нам давали такой пример... понему и работаю...

неважный что то пример вам дали smile

Цитата(Bort @  29.9.2007,  22:23 Найти цитируемый пост)
теперь осталось узнать как оно будер работать... 

ну хорошо.. попробуй, посмотри как будет работать... отпишись о результатах.








--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
Bort
Дата 29.9.2007, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 26.7.2007

Репутация: нет
Всего: нет



работает. все окей. просто ямалец провтыкал - нада в первый тектфилд вписывать два слова... нада проверку будет дописать
PM MAIL   Вверх
dorogoyIV
Дата 29.9.2007, 23:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: 36
Всего: 46



здесь не сложно. посмотри классы String и StringBuffer.
вот пример:
Код

import java.awt.*;
import java.util.*;
import java.awt.event.*;
import javax.swing.*;

class BortString extends JFrame implements ActionListener
{
 JTextField jtf_1=new JTextField("asdf rfr joj",40);
 JTextField jtf_2=new JTextField(40);
 JButton jb=new JButton("Action");

 BortString()
 {
  setBounds(100,100,500,300);
  setLayout(new FlowLayout());

  add(jtf_1);
  add(jtf_2);
  add(jb);
  jb.addActionListener(this);
 }

 public void actionPerformed(ActionEvent e)
 {
  StringBuffer sb=new StringBuffer(jtf_1.getText());
  String s;
  StringBuffer sb_3=new StringBuffer();
  StringTokenizer tokenizer=new StringTokenizer(sb.toString());
  while(tokenizer.hasMoreTokens())
  {
   s=tokenizer.nextToken();
   StringBuffer sb_2=new StringBuffer(s);

   if(s.equals(sb_2.reverse().toString()))
   {
    sb_3.append(s+" ");
   }
  }
  jtf_2.setText(sb_3.toString());
 }

 public static void main(String[]args)
 {
  JFrame f=new BortString();
  f.setVisible(true);
  f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 }
}


PM MAIL   Вверх
Bort
Дата 30.9.2007, 01:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 26.7.2007

Репутация: нет
Всего: нет



еще такие вопроссики: 
1) а как создать массив стрингов???
мне нужно считывать неопределенное количество слов. Естественно, что я не могу под каждое  насоздавать кучу переменных. как это реализовать?
2) как сравивать символы? могу ли я сравнить "а" и "б"? как подсчитать количество каждого "а" и "б"?

заранее спасибо
PM MAIL   Вверх
dorogoyIV
Дата 30.9.2007, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: 36
Всего: 46



1. Vector<String> v=new Vector<String>();
    v.add(new String());

2. equals
PM MAIL   Вверх
Bort
Дата 30.9.2007, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 26.7.2007

Репутация: нет
Всего: нет



а можна немного подробне насчет ветора? как не потом перебирать записанные стринги?
PM MAIL   Вверх
nornad
Дата 30.9.2007, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

Репутация: 6
Всего: 31



Bort, а может разумнее заняться чтением литературы по Java?

Цитата(powerOn @  30.9.2007,  00:50 Найти цитируемый пост)
Цитата(Bort @  29.9.2007,  22:23 Найти цитируемый пост)
нам давали такой пример... понему и работаю...
неважный что то пример вам дали smile

А они часто даются "важные"? Имхо, в вузах дают примеры на собственном уровне знаний, который у большинства преподавателей настолько низок, что просто смех разбирает.

Цитата(Bort @  30.9.2007,  04:25 Найти цитируемый пост)
как сравивать символы?

Берёшь два символа и сравниваешь. Если char - простым ==, если Character - equals

Цитата(Bort @  30.9.2007,  04:25 Найти цитируемый пост)
как подсчитать количество каждого "а" и "б"

Можно сделать мапу (Map), где ключами будут "а" и "б", а значеними - количества этих "а" и "б".

По большому счёту ваши вопросы на уровне новичка, не знакомого с Java и малознакомого с программированием вообще. Рекомендую почитать пару книжек (может, и одной хватить или даже меньше - зависит от ваших способностей и багажа знаний) - многие вопросы отпадут довольно быстро.


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0596 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.