回答編集履歴

2

追記

2017/09/01 04:13

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -9,6 +9,8 @@
9
9
  System.out.println("1:はい 2:いいえ");
10
10
 
11
11
 
12
+
13
+ // 本当はScannerのインスタンスはフィールドにすることが望ましい
12
14
 
13
15
  int ui = new Scanner(System.in).nextInt();
14
16
 

1

追記

2017/09/01 04:13

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -61,3 +61,133 @@
61
61
  } while(conf());
62
62
 
63
63
  ```
64
+
65
+
66
+
67
+ ---
68
+
69
+ プログラムに気になる点が多くあります。
70
+
71
+ 0. **クラス名の表記が一般的でない**
72
+
73
+ Bank_mainではなくBankMainの方が一般的な表記(PascalCase)かと思います。
74
+
75
+ 0. **Liquid_valueの存在意義が謎**
76
+
77
+ 何のためのクラスかわかりません。フィールドをprivateにしている意味もありません。
78
+
79
+ 0. **Scannerのインスタンスを作りすぎ**
80
+
81
+ クラス内で一つだけ生成して使いまわせばよいのでは。
82
+
83
+ 0. **定数の宣言が散らばっている**
84
+
85
+ 例えば株式会社名。フィールドとして保持する方が自然ですし、拡張も容易です。
86
+
87
+ 0. **staticメソッド内でいろいろやりすぎ**
88
+
89
+ mainメソッドが尋常じゃないボリュームになっています。
90
+
91
+ 0. **if文の濫用が目立つ**
92
+
93
+ 排他的な条件ならelse-if文を適宜用いるか、switch文を利用するべきかと。
94
+
95
+ 0. **変数やクラスの役割が不明瞭**
96
+
97
+ Liquid_valueが最たるものですが、cvとかrとかhとかって何でしょう。
98
+
99
+ 0. **インデントが揃っていない**
100
+
101
+ 読みづらいですし、同時に書きづらいでしょう?他の人のコードをまねてみましょう。
102
+
103
+
104
+
105
+ 基礎的な部分をしっかり押さえることをお勧めします。
106
+
107
+
108
+
109
+ ---
110
+
111
+ 銀行のプログラムって言ったら、こんな感じかな?口座クラスを適当に作ってみました。
112
+
113
+ ```Java
114
+
115
+ import java.util.ArrayList;
116
+
117
+ import java.util.List;
118
+
119
+
120
+
121
+ public class Kouza {
122
+
123
+ private String name_;
124
+
125
+ private int zandaka_ = 0;
126
+
127
+ private List<String> suitou_ = new ArrayList<>();
128
+
129
+
130
+
131
+ public Kouza(String name) {
132
+
133
+ this.name_ = name;
134
+
135
+ }
136
+
137
+
138
+
139
+ public String getName() {
140
+
141
+ return name_;
142
+
143
+ }
144
+
145
+ public int getZandaka() {
146
+
147
+ return zandaka_;
148
+
149
+ }
150
+
151
+ public void nyukin(int money) {
152
+
153
+ kichou(money + "円入金しました。");
154
+
155
+ setZandaka(getZandaka() + money);
156
+
157
+ }
158
+
159
+ public void shukkin(int money) {
160
+
161
+ kichou(money + "円出金しました。");
162
+
163
+ setZandaka(getZandaka() - money);
164
+
165
+ }
166
+
167
+
168
+
169
+ //
170
+
171
+ // private
172
+
173
+ private void setZandaka(int money) {
174
+
175
+ zandaka_ = money;
176
+
177
+ }
178
+
179
+ private void kichou(String naiyou) {
180
+
181
+ suitou_.add(naiyou);
182
+
183
+ }
184
+
185
+ }
186
+
187
+ ```
188
+
189
+
190
+
191
+ 即興なのでかなり荒っぽいです(特に命名)。あとめんどくさそうな機能の実装は避けました。
192
+
193
+ `setZandaka()`など、自在にアクセスされたくないメソッドをprivateにしているのがミソです。