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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> найти повторяющиеся символы и их количество 
:(
    Опции темы
Mitresky
Дата 18.12.2008, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Подскажите, нужно найти повторяющийся символ алфавита в файле, программа должна вывести  эти символы и номерами строк  в jTable, где он повторяется.
PM MAIL   Вверх
zhail
Дата 18.12.2008, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Как я понимаю текст в файле, а что и в каком виде должно попасть в таблицу, в какие строки,... расскажи чуть подробнее.

Вообще берем текст в входном потоке и парсим его, нашли и в таблицу.

Расскажи подробнее.
PM MAIL   Вверх
Mitresky
Дата 19.12.2008, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Вот пример файла:
a
b
c
0
d
e
2
f
g
h
i
j
k
1
6
l
m
5
n
o
3
p
q
r
6
s
t
7
u
w
x
y
z
9
8
g
a
b
c
a
b
c

он обязательно должен быть столбцом. По этому примеру должен быть, что a - 3 раза повторяется, так же b и c. И всё это занести в таблицу.

Вот пример таблицы: Она просто состоит из двух столбцов. В одной какой символ повторился, во-второй сколько раз.

private void initComponents() {


jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);


jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null}
},
new String [] {
"Символ", "Количество вхождений"
}
) {
boolean[] canEdit = new boolean [] {
false, true
};

public boolean isCellEditable(int rowIndex, int columnIndex) {
return canEdit [columnIndex];
}
}); 

Надеюсь понятно :(
PM MAIL   Вверх
zhail
Дата 19.12.2008, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



тут проблемы по перебору символов решит StreamTokenizer и перебор таблицы при каждом .nextToken()
PM MAIL   Вверх
dorogoyIV
Дата 20.12.2008, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Код

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

public class StringCount extends JFrame
                         implements ActionListener
{
 JTable table = new JTable(0, 2);
 JButton jb = new JButton("Count");
 ArrayList <String> list = new ArrayList <String> ();
 Hashtable <String, Integer> h = new Hashtable <String, Integer> ();

 public StringCount()
 {
  ((TableColumn)table.getColumnModel().
        getColumn(0)).setHeaderValue("Строка");
  ((TableColumn)table.getColumnModel().
        getColumn(1)).setHeaderValue("Количество вхождений");
  add(new JScrollPane(table));
  add(jb, "South");
  jb.addActionListener(this);
 }

 public void actionPerformed(ActionEvent e)
 {
  readFile(new File("text.txt"));
 }

 private void count(String s)
 {
  int value = 1;

  if(!list.contains(s))
   list.add(s);

  else
   value = h.get(s) + 1;

  h.put(s, new Integer(value));
  loadTable();
 }

 private void loadTable()
 {
  DefaultTableModel model = (DefaultTableModel)table.getModel();
  model.setRowCount(0);

  for(int i = 0; i < list.size(); i++)
   model.addRow(new Object [] {list.get(i), h.get(list.get(i))});
 }

 private void readFile(File file)
 {
  list.clear();
  h.clear();

  try
  {
   BufferedReader reader = new BufferedReader(new FileReader(file));
   String s;

   while((s = reader.readLine()) != null)
    count(s);

   reader.close();
  }
  catch(Exception ex){}
 }

 public static void main(String [] args)
 {
  JFrame f = new StringCount();
  f.setBounds(100, 100, 400, 300);
  f.setDefaultCloseOperation(3);
  f.setVisible(true);
 }
}


 smile стоял перед выбором - то ли номера строк нужны?, то ли количество вхождений?  smile 
написал для последнего

Это сообщение отредактировал(а) dorogoyIV - 20.12.2008, 10:06
PM MAIL   Вверх
Mitresky
Дата 24.12.2008, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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

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

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


 




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


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

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