質問編集履歴

2

わかりやすいタイトルに変更、調べた現状追記

2018/06/11 08:49

投稿

ribo
ribo

スコア11

test CHANGED
File without changes
test CHANGED
@@ -6,194 +6,224 @@
6
6
 
7
7
 
8
8
 
9
+ 現状調べて見つけたソースを書き換えたりして試しているのですが
10
+
11
+
12
+
13
+ public static void main(String args[]) {
14
+
15
+
16
+
17
+ System.out.print("商品コードを入力してください(*で終了): ");
18
+
19
+
20
+
21
+ Scanner scan = new Scanner(System.in);
22
+
23
+
24
+
25
+ int inputValue = scan.nextInt();
26
+
27
+
28
+
29
+ // inputValue が * でなければループ
30
+
31
+ while (inputValue != *) {
32
+
33
+
34
+
35
+ System.out.println("入力された値は" + inputValue + "でした");
36
+
37
+
38
+
39
+ System.out.print("商品コードを入力してください(*で終了): ");
40
+
41
+ inputValue = scan.nextInt();
42
+
9
- 現状
43
+ }
44
+
45
+
46
+
10
-
47
+ scan.close();
48
+
49
+
50
+
51
+ System.out.println("精算します");
52
+
53
+ }
54
+
55
+ のような書き方を見つけましたがうまい書き換え方がわかりません。
56
+
57
+
58
+
59
+
60
+
61
+ package sample_java;
62
+
63
+
64
+
65
+ import java.sql.Connection;
66
+
67
+ import java.sql.DriverManager;
68
+
69
+ import java.sql.ResultSet;
70
+
71
+ import java.sql.SQLException;
72
+
73
+ import java.sql.Statement;
74
+
75
+ import java.util.HashMap;
76
+
77
+ import java.util.Map;
78
+
79
+
80
+
81
+ public class Main {
82
+
83
+ public static void main( String args[] ) throws Exception {
84
+
85
+
86
+
87
+ String url = "mysqlが入る";
88
+
89
+ String user = "root";
90
+
91
+ String pwd = "root";
92
+
93
+
94
+
95
+ Map<Integer, Shouhin> map = new HashMap<>() ;
96
+
97
+
98
+
99
+ Connection con = null;
100
+
101
+ try {
102
+
103
+ // JDBCドライバのロード
104
+
105
+ Class.forName("com.mysql.cj.jdbc.Driver").newInstance();
106
+
107
+ // MySQLに接続
108
+
109
+ con = DriverManager.getConnection(url, user, pwd);
110
+
111
+ System.out.println("MySQLに接続できました。");
112
+
113
+ Statement stmt = con.createStatement();
114
+
115
+ String sql = "SELECT * FROM shouhin_mst";
116
+
117
+ ResultSet rs = stmt.executeQuery(sql);
118
+
119
+
120
+
11
- while(true){
121
+ while(rs.next()) {
122
+
12
-
123
+ int code = rs.getInt("SHOUHIN_CD");
124
+
13
-
125
+ String name = rs.getString("shouhin_name");
126
+
14
-
127
+ int price = rs.getInt("unit_price");
128
+
129
+ map.put(code,new Shouhin(code,name,price));
130
+
131
+ System.out.println(map.get(code));
132
+
133
+ }
134
+
135
+
136
+
137
+ rs.close();
138
+
139
+ stmt.close();
140
+
141
+
142
+
143
+ } catch (Exception e) {
144
+
145
+ e.printStackTrace();
146
+
147
+ } finally {
148
+
15
- if(入力変数内容 == *){
149
+ if (con != null) {
16
-
150
+
17
- break;
151
+ try {
152
+
153
+ con.close();
154
+
155
+ } catch (SQLException e) {
156
+
157
+ System.out.println("MySQLのクローズに失敗しました。");
158
+
159
+ }
160
+
161
+ }
162
+
163
+ }
164
+
165
+ }
18
166
 
19
167
  }
20
168
 
21
169
 
22
170
 
171
+ package sample_java;
172
+
173
+
174
+
175
+
176
+
177
+ public class Shouhin {
178
+
179
+ int cd;
180
+
181
+ String name;
182
+
183
+ int price;
184
+
185
+ @Override
186
+
187
+ public String toString() {//見やすいように変えるメソッド
188
+
189
+ return cd + ":" + name + "(\" + price + ")";
190
+
191
+ }
192
+
193
+ public Shouhin(int code, String name, int price){
194
+
195
+ this.cd = code;
196
+
197
+ this.name = name;
198
+
199
+ this.price = price;
200
+
201
+ }
202
+
203
+ public int getCd() {
204
+
205
+ return cd;
206
+
207
+ }
208
+
209
+ public String getName() {
210
+
211
+ return name;
212
+
213
+ }
214
+
215
+ public int getPrice() {
216
+
217
+ return price;
218
+
219
+ }
220
+
221
+
222
+
223
+
224
+
23
225
  }
24
226
 
25
- のような書き方を見つけましたがうまい書き換え方がわかりません。
26
-
27
-
28
-
29
-
30
-
31
- package sample_java;
32
-
33
-
34
-
35
- import java.sql.Connection;
36
-
37
- import java.sql.DriverManager;
38
-
39
- import java.sql.ResultSet;
40
-
41
- import java.sql.SQLException;
42
-
43
- import java.sql.Statement;
44
-
45
- import java.util.HashMap;
46
-
47
- import java.util.Map;
48
-
49
-
50
-
51
- public class Main {
52
-
53
- public static void main( String args[] ) throws Exception {
54
-
55
-
56
-
57
- String url = "mysqlが入る";
58
-
59
- String user = "root";
60
-
61
- String pwd = "root";
62
-
63
-
64
-
65
- Map<Integer, Shouhin> map = new HashMap<>() ;
66
-
67
-
68
-
69
- Connection con = null;
70
-
71
- try {
72
-
73
- // JDBCドライバのロード
74
-
75
- Class.forName("com.mysql.cj.jdbc.Driver").newInstance();
76
-
77
- // MySQLに接続
78
-
79
- con = DriverManager.getConnection(url, user, pwd);
80
-
81
- System.out.println("MySQLに接続できました。");
82
-
83
- Statement stmt = con.createStatement();
84
-
85
- String sql = "SELECT * FROM shouhin_mst";
86
-
87
- ResultSet rs = stmt.executeQuery(sql);
88
-
89
-
90
-
91
- while(rs.next()) {
92
-
93
- int code = rs.getInt("SHOUHIN_CD");
94
-
95
- String name = rs.getString("shouhin_name");
96
-
97
- int price = rs.getInt("unit_price");
98
-
99
- map.put(code,new Shouhin(code,name,price));
100
-
101
- System.out.println(map.get(code));
102
-
103
- }
104
-
105
-
106
-
107
- rs.close();
108
-
109
- stmt.close();
110
-
111
-
112
-
113
- } catch (Exception e) {
114
-
115
- e.printStackTrace();
116
-
117
- } finally {
118
-
119
- if (con != null) {
120
-
121
- try {
122
-
123
- con.close();
124
-
125
- } catch (SQLException e) {
126
-
127
- System.out.println("MySQLのクローズに失敗しました。");
128
-
129
- }
130
-
131
- }
132
-
133
- }
134
-
135
- }
136
-
137
- }
138
-
139
-
140
-
141
- package sample_java;
142
-
143
-
144
-
145
-
146
-
147
- public class Shouhin {
148
-
149
- int cd;
150
-
151
- String name;
152
-
153
- int price;
154
-
155
- @Override
156
-
157
- public String toString() {//見やすいように変えるメソッド
158
-
159
- return cd + ":" + name + "(\" + price + ")";
160
-
161
- }
162
-
163
- public Shouhin(int code, String name, int price){
164
-
165
- this.cd = code;
166
-
167
- this.name = name;
168
-
169
- this.price = price;
170
-
171
- }
172
-
173
- public int getCd() {
174
-
175
- return cd;
176
-
177
- }
178
-
179
- public String getName() {
180
-
181
- return name;
182
-
183
- }
184
-
185
- public int getPrice() {
186
-
187
- return price;
188
-
189
- }
190
-
191
-
192
-
193
-
194
-
195
- }
196
-
197
227
 
198
228
 
199
229
  過去の投稿を踏まえて具体的に書いたつもりです。

1

わかりやすいタイトルに変更、調べた現状追記

2018/06/11 08:49

投稿

ribo
ribo

スコア11

test CHANGED
@@ -1 +1 @@
1
- 無限ループの書き方がわからな
1
+ 入力フォームで*入力時に抜ける無限ループを作成した
test CHANGED
@@ -3,6 +3,28 @@
3
3
  *を入力すると商品コード入力のループを抜けられるように書きたいのですが、調べてもどのように記述すればいいのかわかりません。
4
4
 
5
5
  一つ目のmainクラスで無限ループと入力フォームや入力チェックを行いここにはない3つ目のクラスとして数量と商品コードを受け取るカートの役割を持ったプログラムを作成予定です。
6
+
7
+
8
+
9
+ 現状
10
+
11
+ while(true){
12
+
13
+
14
+
15
+ if(入力変数内容 == *){
16
+
17
+ break;
18
+
19
+ }
20
+
21
+
22
+
23
+ }
24
+
25
+ のような書き方を見つけましたがうまい書き換え方がわかりません。
26
+
27
+
6
28
 
7
29
 
8
30
 
@@ -174,4 +196,4 @@
174
196
 
175
197
 
176
198
 
177
- 過去の投稿を踏まえて具体的に書いたつもりです。お力をお貸しください。
199
+ 過去の投稿を踏まえて具体的に書いたつもりです。