###前提・実現したいこと
学校で銀行口座を作ると言う課題が出されているのですが、一個のエラーがどうやっても消えず悩んでいます。
言語はjavaです。
課題内容は
(1) このプログラムは,次のコマンドを提供する.
新規口座 … プログラムが起動されたときは,口座リストは空である.新規口座コマンドは新規に口座を開設し,その残高を0とする.
口座解約 … 口座名で指定される口座を解約し,口座情報を口座リストから削除する.解約できる口座は,残高が0のものに限る.
預金 … 口座名で指定される口座に指定された額を預金する.
引き出し … 口座名で指定される口座から指定された額を引き出す.
残高照会 … 口座名で指定される口座の残高を表示する.
(2) プログラムは次の場合エラーメッセージを出力する.
新規口座コマンド
・口座リストにある口座名で再び口座を開こうとしたとき
・20を超える口座を開こうとしたとき
口座解約コマンド
・残高が0でない口座を解約しようとしたとき
・口座リストにない口座名が指定されたとき
預金コマンド
・0以下の額を預金しようとしたとき
・口座リストにない口座名が指定されたとき
引き出しコマンド
・預金残高を越える額を引き出そうとしたとき
・口座リストにない口座名が指定されたとき
・0以下の額を引き出そうとしたとき
残高照会コマンド
・口座リストにない口座名が指定されたとき
(3) 作成にあたっては次の点に注意しなさい.
作成するクラス名はBankAppletとする.
注意しないとinitメソッドが大変大きくなり,デバッグがしにくくなる.各自でinitメソッドを複数のprivateなメソッドに分割するよう設計しなさい.
アプレットのソースコード中に,メソッド分割の理由と,分割方針がわかるようなコメントを記述すること.
分割した各メソッドごとに,そのメソッドの機能引数がある場合は,各引数の意味戻り値がある場合は,戻り値の意味をコメントに記述すること.
変数は,インスタンス変数にする必要があるものと,局所変数でよいものの2通りがある.インスタンス変数は,必要なものだけに限定すること.
変数やメソッドは,publicにする必要があるものと,privateでよいものの2通りがある.publicは必要なものだけに限定すること.
になります。
###発生している問題・エラーメッセージ
BankApplet.java:27: エラー: シンボルを見つけられません private Bank bankApplet; ^ シンボル: クラス Bank 場所: クラス BankApplet エラー1個
###該当のソースコード
java
1import java.applet.Applet; //import文 2import java.awt.Label; 3import java.awt.Button; 4import java.awt.Panel; 5import java.awt.BorderLayout; 6import java.awt.GridLayout; 7import java.awt.Color; 8import java.awt.Dimension; 9import java.awt.event.*; 10import java.awt.TextField; 11import java.awt.CardLayout; 12 13 14 15public class BankApplet extends Applet implements ActionListener{ 16 private Button button1,button2,button3,button4,button5; 17 private Label label1_me,label2_me,kuuhaku; 18 private Panel menuPanel; 19 private Panel openPanel; 20 private Button button1_op,button2_op; 21 private Label label1_op,label2_op,name_op; 22 private TextField tf_op=new TextField("",20); 23 private CardLayout bank; 24 private Panel bankPanel; 25 private Bank bankApplet; 26 27 28 29//387行目 30 public void init(){ 31 menu(); 32 open(); 33 close(); 34 withdraw(); 35 deposit(); 36 balance(); 37 38 bankPanel=new Panel(); 39 bank=new CardLayout(); 40 bankPanel.setLayout(bank); 41 bankPanel.add("1",menuPanel); 42 bankPanel.add("2",openPanel); 43 bankPanel.add("3",closePanel); 44 bankPanel.add("4",depositPanel); 45 bankPanel.add("5",withdrawPanel); 46 bankPanel.add("6",balancePanel); 47 48 this.add(bankPanel); 49 } 50 public void actionPerformed(ActionEvent e){ 51 /*bankApplet=new Bank();*/ 52 if(e.getSource() == button1){// menu -> open 53 label2_op.setText("開設する口座名を指定して下さい"); 54 bank.show(bankPanel,"2"); 55 56 } 57 if(e.getSource() == button2){// menu -> close 58 label2_cl.setText("解約する口座名を指定して下さい"); 59 bank.show(bankPanel,"3"); 60 } 61 if(e.getSource() == button3){// menu -> deposit 62 label2_de.setText("預金する口座名と金額を指定して下さい"); 63 bank.show(bankPanel,"4"); 64 } 65 if(e.getSource() == button4){// menu -> withdraw 66 label2_wi.setText("引き出しする口座名と金額を指定して下さい"); 67 bank.show(bankPanel,"5"); 68 } 69 if(e.getSource() == button5){// menu -> balance 70 label2_ba.setText("残高照会する口座名を指定して下さい"); 71 bank.show(bankPanel,"6"); 72 } 73 if(e.getSource() == button1_op){//open ok 74 String str=tf_op.getText(); 75 if(str.equals("")){ 76 label2_op.setText("記入すべき所が空白です"); 77 } 78 else{ 79 int result = bankApplet.doOpen(str);//戻り値0 アカウント作成成功 80 if(result == 0){ 81 bank.show(bankPanel,"1"); 82 tf_op.setText(""); 83 label2_me.setText("口座が作成されました"); 84 } 85 else if(result==-6){ 86 label2_op.setText("口座が20コあるため作成できません"); 87 } 88 else if(result==-5){ 89 label2_op.setText("同名のものが存在します"); 90 } 91 } 92 } 93 if(e.getSource() == button2_op){//open cancel 94 label2_me.setText("希望の選択をクリック!"); 95 tf_op.setText(""); 96 bank.show(bankPanel,"1"); 97 } 98 99 100 101 if(e.getSource() == button1_cl){//close 削除 102 String str=tf_cl.getText(); 103 if(str.equals("")){ 104 label2_op.setText("記入すべき所が空白です"); 105 } 106 else{ 107 int result = bankApplet.doClose(str);//戻り値0 アカウント作成成功 108 if(result == 0){ 109 bank.show(bankPanel,"1"); 110 tf_cl.setText(""); 111 label2_me.setText("口座が削除されました"); 112 } 113 else if(result==-5){ 114 label2_cl.setText("口座がないため削除できません"); 115 } 116 else if(result==-1){ 117 label2_cl.setText("残高が0円ではありません"); 118 } 119 } 120 } 121 if(e.getSource() == button2_cl){//close cancel 122 label2_me.setText("希望の選択をクリック!"); 123 tf_cl.setText(""); 124 bank.show(bankPanel,"1"); 125 } 126 127 128 129 130 if(e.getSource()==button1_wi){// withdraw ok 131 String str1=tf_wi.getText(); 132 String str2=tf2_wi.getText(); 133 if(str1.equals("") || str2.equals("")){ 134 label2_wi.setText("記入すべき所が空白です"); 135 } 136 else{ 137 int result =bankApplet.doWithdraw(str1,str2);//戻り値0 引き出し 138 if(result == 0){ 139 bank.show(bankPanel,"1"); 140 tf_wi.setText(""); 141 tf2_wi.setText(""); 142 label2_me.setText("正常に引き出されました"); 143 } 144 else if(result==-1){ 145 label2_wi.setText("預金残高を超えています"); 146 } 147 else if(result==-4){ 148 label2_wi.setText("金額が整数ではありません"); 149 } 150 else if(result==-3){ 151 label2_wi.setText("0以下のお金は引き出せません"); 152 } 153 else if(result==-5){ 154 label2_wi.setText("口座が存在しません"); 155 } 156 } 157 } 158 if(e.getSource() == button2_wi){//withdraw cancel 159 label2_me.setText("希望の選択をクリック!"); 160 tf_wi.setText(""); 161 tf2_wi.setText(""); 162 bank.show(bankPanel,"1"); 163 } 164 165 166 167 168 169 if(e.getSource()==button1_de){//deposit ok 170 String str1=tf_de.getText(); 171 String str2=tf2_de.getText(); 172 if(str1.equals("") || str2.equals("")){ 173 label2_de.setText("記入すべき所が空白です"); 174 } 175 else{ 176 int result = bankApplet.doDeposit(str1,str2);//戻り値0 アカウント作成成功 177 if(result == 0){ 178 bank.show(bankPanel,"1"); 179 tf_de.setText(""); 180 tf2_de.setText(""); 181 label2_me.setText("入金できました"); 182 } 183 else if(result==-3){ 184 label2_de.setText("0以下のお金は入金できません"); 185 } 186 else if(result==-4){ 187 label2_de.setText("金額が整数ではありません"); 188 } 189 else if(result==-5){ 190 label2_de.setText("口座が存在しません"); 191 } 192 } 193 } 194 195 if(e.getSource() == button2_de){//deposit cancel 196 label2_me.setText("希望の選択をクリック!"); 197 tf_de.setText(""); 198 tf2_de.setText(""); 199 bank.show(bankPanel,"1"); 200 } 201 if(e.getSource() == button1_ba){//balance ok 202 String str=tf_ba.getText(); 203 if(str.equals("")){ 204 label2_ba.setText("記入すべき所が空白です"); 205 } 206 else{ 207 int result=bankApplet.doBalance(str); 208 if(result >= 0){ 209 label2_ba.setText("残高は"+result+"円です"); 210 tf_ba.setText(""); 211 212 } 213 else if(result==-5){ 214 label2_ba.setText("口座が存在しません"); 215 } 216 } 217 } 218 219 220 if(e.getSource() == button2_ba){//balance cancel 221 label2_me.setText("希望の選択をクリック!"); 222 tf_ba.setText(""); 223 bank.show(bankPanel,"1"); 224 225 } 226 } 227}
###試したこと
private Bank bankApplet = new Bank();
にしたりもしたが、エラーが増えるだけでした。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。