質問編集履歴

2

不正削除対応

2018/02/13 01:50

投稿

kojima_desuyo
kojima_desuyo

スコア8

test CHANGED
@@ -1 +1 @@
1
- JAVAJAVAJAVA
1
+ JAVAでCSVファイルの編集
test CHANGED
@@ -1 +1,291 @@
1
+ ### 2回目の処理で情報が表示されない
2
+
3
+ javaで
4
+
1
- JAVAJAVAJAVAJAVAJAVAJAVAJAVAJAVA
5
+ CSVファイルに保存されている社員情報を表示・検索・登録・削除する
6
+
7
+ システムを作っています。
8
+
9
+ 削除以外の機能が作り終わり、結合して実行をかけてみたところ、
10
+
11
+ 社員情報を表示してトップメニューに戻ってからもう一度社員情報を表示しようとすると
12
+
13
+ 社員情報が表示されないという問題が発生しました。
14
+
15
+ ### 該当のソースコード
16
+
17
+ ```java
18
+
19
+ import java.io.*;
20
+
21
+ import java.util.*;
22
+
23
+ public class Employee{
24
+
25
+ public static void main(String[] args){
26
+
27
+ try{
28
+
29
+ File csv = new File("syain.csv");
30
+
31
+ InputStreamReader isr = new InputStreamReader(System.in);
32
+
33
+ BufferedReader brr = new BufferedReader(isr);
34
+
35
+ BufferedReader br = new BufferedReader(new FileReader(csv));
36
+
37
+ BufferedWriter bw = new BufferedWriter(new FileWriter(csv, true));
38
+
39
+ int flag = 0;
40
+
41
+ int nu = 0;
42
+
43
+ while(flag == 0){
44
+
45
+ System.out.println("####################");
46
+
47
+ System.out.println("メインメニュー");
48
+
49
+ System.out.println("####################");
50
+
51
+ System.out.println("");
52
+
53
+ System.out.println("1 社員表示");
54
+
55
+ System.out.println("2 社員検索");
56
+
57
+ System.out.println("3 社員登録");
58
+
59
+ System.out.println("4 社員削除");
60
+
61
+ System.out.println("99 終了");
62
+
63
+ System.out.println("");
64
+
65
+ System.out.println("メニュー番号を入力してください");
66
+
67
+ System.out.print("-->");
68
+
69
+ String name = brr.readLine();
70
+
71
+ nu = Integer.parseInt(name);
72
+
73
+ switch(nu){
74
+
75
+ case 1:
76
+
77
+ int bango[] = new int[1];
78
+
79
+ String mei[] = new String[1];
80
+
81
+ System.out.println();
82
+
83
+ System.out.println("----------");
84
+
85
+ System.out.println("社員表示");
86
+
87
+ System.out.println("----------");
88
+
89
+ System.out.println();
90
+
91
+ System.out.println("社員情報を表示します");
92
+
93
+ System.out.println();
94
+
95
+ System.out.println("社員番号     社員名");
96
+
97
+ System.out.println("-----      ------");
98
+
99
+ String line = "";
100
+
101
+ while((line = br.readLine()) != null)
102
+
103
+ {
104
+
105
+ StringTokenizer st = new StringTokenizer(line,",");
106
+
107
+ while(st.hasMoreTokens())
108
+
109
+ {
110
+
111
+ System.out.print(st.nextToken() + "      ");
112
+
113
+ System.out.print("");
114
+
115
+ }
116
+
117
+ System.out.println();
118
+
119
+ }
120
+
121
+ //br.close();
122
+
123
+ break;
124
+
125
+ case 2:
126
+
127
+ int bango2[] = new int[1];
128
+
129
+ System.out.println();
130
+
131
+ System.out.println("----------");
132
+
133
+ System.out.println("社員検索");
134
+
135
+ System.out.println("----------");
136
+
137
+ System.out.println();
138
+
139
+ System.out.println("社員情報を検索して表示します");
140
+
141
+ System.out.println();
142
+
143
+ int a = 0;
144
+
145
+ System.out.println("検索する社員番号を入力してください");
146
+
147
+ System.out.print("-->");
148
+
149
+ bango2[a] = Integer.parseInt(brr.readLine());
150
+
151
+ System.out.println();
152
+
153
+ System.out.println("社員番号     社員名");
154
+
155
+ System.out.println("-----      ------");
156
+
157
+ String line2 = "";
158
+
159
+ while((line2 = br.readLine()) != null)
160
+
161
+ {
162
+
163
+ StringTokenizer st = new StringTokenizer(line2,",");
164
+
165
+ String bango3 = st.nextToken();
166
+
167
+ int bango4 = Integer.parseInt(bango3);
168
+
169
+ if(bango2[a] == bango4)
170
+
171
+ {
172
+
173
+ System.out.print(bango3 + "      " + st.nextToken());
174
+
175
+ System.out.print("");
176
+
177
+ }
178
+
179
+ System.out.println();
180
+
181
+ }
182
+
183
+ //br.close();
184
+
185
+ break;
186
+
187
+ case 3:
188
+
189
+ int bango5[] = new int[1];
190
+
191
+ String mei2[] = new String[1];
192
+
193
+ System.out.println();
194
+
195
+ System.out.println("----------");
196
+
197
+ System.out.println("社員登録");
198
+
199
+ System.out.println("----------");
200
+
201
+ System.out.println();
202
+
203
+ System.out.println("社員情報を登録します");
204
+
205
+ System.out.println();
206
+
207
+ int c = 0;
208
+
209
+ System.out.println("登録する社員番号を入力してください");
210
+
211
+ System.out.print("-->");
212
+
213
+ bango5[c] = Integer.parseInt(brr.readLine());
214
+
215
+ System.out.println("登録する社員名を入力してください");
216
+
217
+ System.out.print("-->");
218
+
219
+ mei2[c] = brr.readLine();
220
+
221
+ bw.write(bango5[c] + "," + mei2[c] + "\r\n");
222
+
223
+ //bw.close();
224
+
225
+ System.out.println("社員番号「" + bango5[c] + "」社員名「" + mei2[c] + "」の社員情報を登録しました");
226
+
227
+ System.out.println();
228
+
229
+ System.out.println("社員番号     社員名");
230
+
231
+ System.out.println("-----      ------");
232
+
233
+ String line3 = "";
234
+
235
+ while((line3 = br.readLine()) != null)
236
+
237
+ {
238
+
239
+ StringTokenizer st = new StringTokenizer(line3,",");
240
+
241
+ while(st.hasMoreTokens())
242
+
243
+ {
244
+
245
+ System.out.print(st.nextToken() + "      ");
246
+
247
+ System.out.print("");
248
+
249
+ }
250
+
251
+ System.out.println();
252
+
253
+ }
254
+
255
+ //br.close();
256
+
257
+ break;
258
+
259
+ case 4:
260
+
261
+ //削除機能(未完成)
262
+
263
+ break;
264
+
265
+ case 99:
266
+
267
+ flag = 1;
268
+
269
+ break;
270
+
271
+ }
272
+
273
+ continue;
274
+
275
+ }
276
+
277
+ }catch(Exception e){
278
+
279
+ System.out.println(e);
280
+
281
+ }
282
+
283
+ }
284
+
285
+ }
286
+
287
+ ```
288
+
289
+ どのようにしたら、2回目以降の処理でも
290
+
291
+ 名簿情報の表示や検索、登録、削除が行えますでしょうか?

1

JAVA

2018/02/13 01:50

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- JAVAでCSVファイルの編集
1
+ JAVAJAVAJAVA
test CHANGED
@@ -1,331 +1 @@
1
- ### 2回目の処理で情報が表示されない
2
-
3
- javaで
4
-
5
- CSVファイルに保存されている社員情報を表示・検索・登録・削除する
1
+ JAVAJAVAJAVAJAVAJAVAJAVAJAVAJAVA
6
-
7
- システムを作っています。
8
-
9
- 削除以外の機能が作り終わり、結合して実行をかけてみたところ、
10
-
11
- 社員情報を表示してトップメニューに戻ってからもう一度社員情報を表示しようとすると
12
-
13
- 社員情報が表示されないという問題が発生しました。
14
-
15
-
16
-
17
- ### 該当のソースコード
18
-
19
-
20
-
21
- ```java
22
-
23
- import java.io.*;
24
-
25
- import java.util.*;
26
-
27
-
28
-
29
- public class Employee{
30
-
31
- public static void main(String[] args){
32
-
33
- try{
34
-
35
- File csv = new File("syain.csv");
36
-
37
- InputStreamReader isr = new InputStreamReader(System.in);
38
-
39
- BufferedReader brr = new BufferedReader(isr);
40
-
41
- BufferedReader br = new BufferedReader(new FileReader(csv));
42
-
43
- BufferedWriter bw = new BufferedWriter(new FileWriter(csv, true));
44
-
45
- int flag = 0;
46
-
47
- int nu = 0;
48
-
49
-
50
-
51
- while(flag == 0){
52
-
53
-
54
-
55
- System.out.println("####################");
56
-
57
- System.out.println("メインメニュー");
58
-
59
- System.out.println("####################");
60
-
61
- System.out.println("");
62
-
63
- System.out.println("1 社員表示");
64
-
65
- System.out.println("2 社員検索");
66
-
67
- System.out.println("3 社員登録");
68
-
69
- System.out.println("4 社員削除");
70
-
71
- System.out.println("99 終了");
72
-
73
- System.out.println("");
74
-
75
- System.out.println("メニュー番号を入力してください");
76
-
77
- System.out.print("-->");
78
-
79
- String name = brr.readLine();
80
-
81
- nu = Integer.parseInt(name);
82
-
83
-
84
-
85
- switch(nu){
86
-
87
- case 1:
88
-
89
- int bango[] = new int[1];
90
-
91
- String mei[] = new String[1];
92
-
93
-
94
-
95
- System.out.println();
96
-
97
- System.out.println("----------");
98
-
99
- System.out.println("社員表示");
100
-
101
- System.out.println("----------");
102
-
103
- System.out.println();
104
-
105
- System.out.println("社員情報を表示します");
106
-
107
- System.out.println();
108
-
109
- System.out.println("社員番号     社員名");
110
-
111
- System.out.println("-----      ------");
112
-
113
- String line = "";
114
-
115
- while((line = br.readLine()) != null)
116
-
117
- {
118
-
119
- StringTokenizer st = new StringTokenizer(line,",");
120
-
121
- while(st.hasMoreTokens())
122
-
123
- {
124
-
125
- System.out.print(st.nextToken() + "      ");
126
-
127
- System.out.print("");
128
-
129
- }
130
-
131
- System.out.println();
132
-
133
- }
134
-
135
- //br.close();
136
-
137
- break;
138
-
139
-
140
-
141
- case 2:
142
-
143
- int bango2[] = new int[1];
144
-
145
-
146
-
147
- System.out.println();
148
-
149
- System.out.println("----------");
150
-
151
- System.out.println("社員検索");
152
-
153
- System.out.println("----------");
154
-
155
- System.out.println();
156
-
157
- System.out.println("社員情報を検索して表示します");
158
-
159
- System.out.println();
160
-
161
-
162
-
163
- int a = 0;
164
-
165
-
166
-
167
- System.out.println("検索する社員番号を入力してください");
168
-
169
- System.out.print("-->");
170
-
171
- bango2[a] = Integer.parseInt(brr.readLine());
172
-
173
-
174
-
175
- System.out.println();
176
-
177
- System.out.println("社員番号     社員名");
178
-
179
- System.out.println("-----      ------");
180
-
181
- String line2 = "";
182
-
183
- while((line2 = br.readLine()) != null)
184
-
185
- {
186
-
187
- StringTokenizer st = new StringTokenizer(line2,",");
188
-
189
- String bango3 = st.nextToken();
190
-
191
- int bango4 = Integer.parseInt(bango3);
192
-
193
- if(bango2[a] == bango4)
194
-
195
- {
196
-
197
- System.out.print(bango3 + "      " + st.nextToken());
198
-
199
- System.out.print("");
200
-
201
- }
202
-
203
- System.out.println();
204
-
205
- }
206
-
207
- //br.close();
208
-
209
- break;
210
-
211
-
212
-
213
- case 3:
214
-
215
- int bango5[] = new int[1];
216
-
217
- String mei2[] = new String[1];
218
-
219
-
220
-
221
- System.out.println();
222
-
223
- System.out.println("----------");
224
-
225
- System.out.println("社員登録");
226
-
227
- System.out.println("----------");
228
-
229
- System.out.println();
230
-
231
- System.out.println("社員情報を登録します");
232
-
233
- System.out.println();
234
-
235
-
236
-
237
- int c = 0;
238
-
239
-
240
-
241
- System.out.println("登録する社員番号を入力してください");
242
-
243
- System.out.print("-->");
244
-
245
- bango5[c] = Integer.parseInt(brr.readLine());
246
-
247
- System.out.println("登録する社員名を入力してください");
248
-
249
- System.out.print("-->");
250
-
251
- mei2[c] = brr.readLine();
252
-
253
- bw.write(bango5[c] + "," + mei2[c] + "\r\n");
254
-
255
- //bw.close();
256
-
257
-
258
-
259
- System.out.println("社員番号「" + bango5[c] + "」社員名「" + mei2[c] + "」の社員情報を登録しました");
260
-
261
- System.out.println();
262
-
263
- System.out.println("社員番号     社員名");
264
-
265
- System.out.println("-----      ------");
266
-
267
- String line3 = "";
268
-
269
- while((line3 = br.readLine()) != null)
270
-
271
- {
272
-
273
- StringTokenizer st = new StringTokenizer(line3,",");
274
-
275
- while(st.hasMoreTokens())
276
-
277
- {
278
-
279
- System.out.print(st.nextToken() + "      ");
280
-
281
- System.out.print("");
282
-
283
- }
284
-
285
- System.out.println();
286
-
287
- }
288
-
289
- //br.close();
290
-
291
- break;
292
-
293
-
294
-
295
- case 4:
296
-
297
- //削除機能(未完成)
298
-
299
- break;
300
-
301
-
302
-
303
- case 99:
304
-
305
- flag = 1;
306
-
307
- break;
308
-
309
- }
310
-
311
- continue;
312
-
313
- }
314
-
315
- }catch(Exception e){
316
-
317
- System.out.println(e);
318
-
319
- }
320
-
321
- }
322
-
323
- }
324
-
325
- ```
326
-
327
-
328
-
329
- どのようにしたら、2回目以降の処理でも
330
-
331
- 名簿情報の表示や検索、登録、削除が行えますでしょうか?