Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 22.12.2014
Сообщений: 1
1

Сравнение элементов

22.12.2014, 18:20. Показов 401. Ответов 0
Метки нет (Все метки)

Товарищи, помогите!
Я создал программу: пользователь вводит номер вагона и его характеристики:цвет,тип,численность, тонажность. Все это сохраняется в txt файл на компьютере. Далее создал поток для показа записанного.
Проблема: нужно при нажатии на кнопку, к примеру сравнить по цвету, что бы выводились номера вагонов с одинаковыми цветами.
И вот я в тупике, не знаю как это вообще реализовать! Понимаю, что скорее всего надо использовать коллекцию, но какую и как её ввести, и как сделать так, что бы она выводила учетные номера и сравнивала цвета?
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
package vagon;
 
import javax.swing.*;
 
import java.awt.*;
import java.awt.event.*;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.StringTokenizer;
 
 
 
public class vagonen extends JFrame{
    JButton b1, b2, b3, b4, b5, b6;
    JLabel l1,l2,l3,l4,l5,l6;
    JTextField t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15,t16,t17,t18,t19,t20,t21,t22,t23,t24,t25;
    int i, j, k;
    String a;
    eHandler handler = new eHandler();
JTextArea textArea = new JTextArea();
 
    
public vagonen (String s){
    super(s);
 
    setLayout(null);
    textArea.setLocation(300,200);
    textArea.setSize(300, 300);
    b1 = new JButton("Сохранить");
    b1.setLocation(20,150);
    b1.setSize(100, 30);
    b2 = new JButton("Сравнить по цвету");
    b2.setLocation(130,150);
    b2.setSize(150, 30);
    b3 = new JButton("Сравнить по типу");
    b3.setLocation(290,150);
    b3.setSize(150, 30);
    b4 = new JButton("Сравнить по численности");
    b4.setLocation(450,150);
    b4.setSize(200, 30);
    b5 = new JButton("Сравнить по тонажности");
    b5.setLocation(660,150);
    b5.setSize(200, 30);
    b6 = new JButton("Показать записанное");
    b6.setLocation(20,250);
    b6.setSize(200, 30);
    l1 = new JLabel  ("Уч.№");
    l1.setLocation(20,20);
    l1.setSize(30, 30);
    l2 = new JLabel ("Цвет");
    l2.setLocation(100,20);
    l2.setSize(30, 30);
    l3 = new JLabel ("Тип");
    l3.setLocation(230,20);
    l3.setSize(30, 30);
    l4 = new JLabel ("Численность");
    l4.setLocation(360,20);
    l4.setSize(80, 30);
    l5 = new JLabel ("Тонажность");
    l5.setLocation(490,20);
    l5.setSize(80, 30);
 
    t1 = new JTextField(10);
    t1.setLocation(20,60);
    t1.setSize(40, 20);
 
    t6 = new JTextField(10);
    t6.setLocation(90,60);
    t6.setSize(100, 20);
    
    t11 = new JTextField(10);
    t11.setLocation(230,60);
    t11.setSize(100, 20);
 
    t16 = new JTextField(10);
    t16.setLocation(360,60);
    t16.setSize(100, 20);
 
    t21 = new JTextField(10);
    t21.setLocation(490,60);
    t21.setSize(100, 20);
 
    add(b1);
    add(b2);
    add(b3);
    add(b4);
    add(b5);
    add(l1);
    add(t1);
    add(t6);
    add(t11);
    add(t16);
    add(t21);
    add(l2);
    add(l3);
    add(l4);
    add(l5);
 
    add(b6);
    add(textArea);
    b1.addActionListener(handler);
    b6.addActionListener(handler);
    b2.addActionListener(handler);
    
    
}
 
 
public class eHandler implements ActionListener{
//Кнопка запись в файл
public void actionPerformed(ActionEvent e) {
    try {
    if(e.getSource()==b1){
         i=Integer.parseInt(t1.getText());
         j=Integer.parseInt(t16.getText());
         k=Integer.parseInt(t21.getText());
 
        
        File file = new File("text.txt");
         
    FileOutputStream fileOut = new FileOutputStream(file,true);
    //ObjectOutputStream oout = new ObjectOutputStream(fileOut);
    //oout.writeObject (list);
    fileOut.write(t1.getText().getBytes());
    fileOut.write(" ".getBytes());
    fileOut.write(t6.getText().getBytes());
    fileOut.write(" ".getBytes());
    fileOut.write(t11.getText().getBytes());
    fileOut.write(" ".getBytes());
    fileOut.write(t16.getText().getBytes());
    fileOut.write(" ".getBytes());
    fileOut.write(t21.getText().getBytes());
    fileOut.write(";".getBytes());
    fileOut.write("\r\n".getBytes());
    
    fileOut.close();
        
            
            t1.setText("");
            t6.setText("");
            t11.setText("");
            t16.setText("");
            t21.setText("");    
         } 
        }catch (Exception ex){ JOptionPane.showMessageDialog(null,"Введите в соответсвующие поля числа");}
        
    //Кнопка вывода записанного
    if(e.getSource()==b6){
        try {
            BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("text.txt"),"CP1251"));
             StringBuilder sb = new StringBuilder();
                String s;
                while((s = br.readLine()) != null) {
                    sb.append(s).append('\n');
                }
                s = sb.toString();
               
                textArea.setText(s);
                br.close();
        } catch (UnsupportedEncodingException | FileNotFoundException e1) {
            
            e1.printStackTrace();
        } catch (IOException e1) {
        
            e1.printStackTrace();
        }
       
    }
    //Кнопка сравнение по цвету??? Как здесь правильно?
    if(e.getSource()==b2){
        try {
            BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("text.txt"),"CP1251"));
             StringBuilder sb = new StringBuilder();
                String s;
                while((s = br.readLine()) != null) {
                    sb.append(s).append('\n');
                }
                s = sb.toString();
                
               
                     }
                    }
                
                //textArea.setText(s);
                br.close();
        } catch (UnsupportedEncodingException | FileNotFoundException e1) {
            
            e1.printStackTrace();
        } catch (IOException e1) {
        
            e1.printStackTrace();
        }
    }
    
    }
}
}
Еще создал класс vagon с характеристиками
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
44
45
46
47
48
49
50
51
package vagon;
 
 
 
public class vagon {
private Integer ID;
private String color;
private String tip;
private Integer chislen;
private Integer tonnag;
 
public vagon (int ID, int chislen, int tonnag, String color, String tip) {
    this.ID=ID;
    this.color=color;
    this.tip=tip;
    this.chislen=chislen;
    this.tonnag=tonnag;
}
 
 
public Integer getID() {
    return ID;
}
public void setID(Integer iD) {
    ID = iD;
}
public String getColor() {
    return color;
}
public void setColor(String color) {
    this.color = color;
}
public String getTip() {
    return tip;
}
public void setTip(String tip) {
    this.tip = tip;
}
public Integer getChislen() {
    return chislen;
}
public void setChislen(Integer chislen) {
    this.chislen = chislen;
}
public Integer getTonnag() {
    return tonnag;
}
public void setTonnag(Integer tonnag) {
    this.tonnag = tonnag;
}
}
0

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

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.12.2014, 18:20
Ответы с готовыми решениями:

сравнение элементов ThreeSet
Здравствуйте. есть коллекция TreeSet, каждый элемент которой хранит размер и путь к файлу....

Сравнение элементов двух строк
Здравствуйте, мне надо сравнить две строки, и если в первой окажутся символы второй, записать их...

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

Сравнение двух элементов в векторе
Здравствуйте. Недавно начал познавать язык Java. У меня есть вектор Vect. Добавляю в него два...

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

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

Почему не срабатывает сравнение элементов массива?
Доброго всем! Вот чего-то тут затупил я на ровном месте, может кто подскажет чего дельное? Простая,...

Сравнение элементов массива.Как сделать проще?
Функция последовательного сравнения трех элементов массива с числом. Пока сделано вложенными...

Сравнение массивов и добавление новых элементов в массив
Добрый день! На данный момент столкнулся с двумя задачами, возникли определенные трудности. 1)...

Дополните пожалуйста эти методы! скалярное произведение векторов, умножение на скаляр, сравнение векторов, сравнение
public class VectorTricks { public static void main(String args) { Vector v1 = new...


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

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

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