TODOS・何でも情報交換TOPから是非ご覧ください。
一番下の投稿フォームへ > スレッド一覧 > 記事閲覧
o6asanさんのJAVAトライ・その24
日時: 2013/10/28 00:30
名前: o6asan

今週は,残念ながら質問が現れなかったので,彼の先生のページらしい例のところから
2題拾ってきました。その23と,この問題です。

以下の未完成のプログラムのBankAccountクラスを完成させて、動作例と同じ結果が表示
されるようにしなさい。ただし、BankAccountクラスは以下の仕様を満たすように作成する
こと。

BankAccountクラスの仕様

フィールド
private String name: 口座の所有者の名前を保存するString型のフィールド
private int savings: 預金額を保存するint型のフィールド

メソッド
public void setName(String _name): String型の引数_nameで与えられる口座所有者の
名前をフィールドnameに保存するためのメソッド
public void deposit(int amount): int型の引数amountで指定された金額を預金するための
メソッド(指定された金額が負数の場合は「・・・さん、預け入れる金額は正の整数で指定
してください。」というメッセージを表示する)(指定された金額が負数でない場合は、
指定された金額だけ預金額を増やし、「・・・さんは・・・円を預け入れました。」と表示
する)
public void withdraw(int amount): int型の引数amountで指定された金額を引き出す
ためのメソッド(指定された金額が負数の場合は「・・・さん、引き出す金額は正の整数で
指定してください。」というメッセージを表示する)(指定された金額が預金額よりも多い
場合は「・・・さん、預金額が不足しています。」というメッセージを表示する)(指定
された金額が負数でなく、なおかつ指定された金額が預金額以下の場合は、指定された金額
だけ預金額を減らし、「・・・さんは・・・円を引き出しました。」と表示する)
public void displaySavings(): 口座所有者の名前と預金額を表示するメソッド(「・・
・さんの預金額は・・・円です。」と表示する)

未完成のプログラム
class BankAccount {
  private String name;
  private int savings = 0;

  public void setName(String _name) {
  }

  public void deposit(int amount) {
  }

  public void withdraw(int amount) {
  }

  public void displaySavings() {
  }
}

class Sample24 {
  public static void main(String[] args) {
    BankAccount bankAccount1, bankAccount2;

    bankAccount1 = new BankAccount();
    bankAccount1.setName("山田太郎");

    bankAccount2 = new BankAccount();
    bankAccount2.setName("川上花子");

    bankAccount1.displaySavings();  ここで「山田太郎さんの預金額は0円です。」と表示される。
    bankAccount2.displaySavings();  ここで「川上花子さんの預金額は0円です。」と表示される。

    bankAccount1.deposit(-100);   ここで「山田太郎さん、預け入れる金額は正の整数で指定してください。」と表示される。
    bankAccount1.deposit(10000);   ここで「山田太郎さんは10000円を預け入れました。」と表示される。

    bankAccount2.withdraw(3000);   ここで「川上花子さん、預金額が不足しています。」と表示される。
    bankAccount2.deposit(15000);   ここで「川上花子さんは15000円を預け入れました。」と表示される。
    bankAccount2.withdraw(3000);   ここで「川上花子さんは3000円を引き出しました。」と表示される。

    bankAccount1.displaySavings();  ここで「山田太郎さんの預金額は10000円です。」と表示される。
    bankAccount2.displaySavings();  ここで「川上花子さんの預金額は12000円です。」と表示される。
  }
}
メンテ

Re: o6asanさんのJAVAトライ・その24 ( No.1 )
日時: 2013/11/01 23:00
名前: o6asan

例の先生のページ( http://jkoba.net/kindai/program2/index.html )で, (10/28) と
なっているので,もう,解答例をアップしても問題ないかなと。


Sample24.javaです。
http://o6asan.com/blog-j/files/JAVA/TODOS/Sample24.txt

----------------------------------------------------------------------------------
ずっと,UTF-8でアップロードしてきたのですが,注釈文が日本語で入っていると,コンパイルするときに
エラーになることに気づきましたので,Shift_JISに戻しています。ブラウザで見たときに文字化けするようで
あれば,Shift_JISで読み込みなおしてください。

----------------------------------------------------------------------------------
動作確認は,jdk-7u45-nb-7_4-windows-i586.exeでやっています。 <<--- バージョンアップしました。

この欄に,プログラムを貼ると,インデントが消えてしまいますので,上記のように
txtファイルにリンクを貼っています。

>>No.0 については,見かけ上インデントできてますが,実は,全角空白を使ったトリックです。
課題中の(未完成のプログラム)をコピー&ペーストで自習に利用する場合は,全角空白を
半角空白に直して使ってください。

実際に,試してみようと思う方は,ダウンロードもできます。
ただし,拡張子をtxtにしてアップしてますので,これをjavaに変更後コンパイルしてください。

一応,動くプログラムは書いていますが,何分JAVA の素人ですので,お気づきの点がありましたら,
よろしくお願いします。
メンテ
Re: o6asanさんのJAVAトライ・その24 ( No.2 )
日時: 2013/11/06 17:18
名前: りり

動画です。
http://todos.xsrv.jp/uploader/upl/AGDRec24.wmv

23と24は、どちらもclass BankAccountが作られるのですが、同じフォルダにどんどん保存していたので、24を保存したら、23のBankAccount.classが上書きされてしまいました。

前の20_1と20_2のLightSystemは、全く同じものなので大丈夫でしたが。


ですけど、フォルダを分けるのも面倒なので、BankAccountの名前を変更しています。

動画では特に表示されないので分かりませんが。

保存時に同一フォルダに入れる場合、javaファイルの名は変えるでしょうが、同じ名のclassファイルができてしまわないか、注意が必要かもしれません。
メンテ
Re: o6asanさんのJAVAトライ・その24 ( No.3 )
日時: 2013/11/06 18:55
名前: o6asan

> 保存時に同一フォルダに入れる場合、javaファイルの名は変えるでしょうが、
> 同じ名のclassファイルができてしまわないか、注意が必要かもしれません。

ああ,そうですね。ローカルでは,サンプルごとにプロジェクトフォルダにしているので書くのを忘れていました。

Sample23はsample23フォルダを,Sample24はsample24フォルダを作って,その中で処理してください。
メンテ
Re: o6asanさんのJAVAトライ・その24 ( No.4 )
日時: 2013/11/07 06:54
名前: りり

はい。ですけど、同じフォルダにあると、前のものをどんどん閲覧したりするのに便利なのです。
今のところ、ちょっと気をつければ防げる範囲なので何とか。

普段は、同じファイル名があると、Windowsは警告してくれるのですが、JAVAコンパイルでは問答無用で、classファイルを上書きするんだーーーと、びっくり。

そう言えば、JAVAに限らず、コマンドプロンプトって、命令されたら、たちまち実行してしまいますよね。
MS-DOSでは、上書きしたら、元のをbakという拡張子で自動的に残してくれたりもありましたが。
メンテ

楽しい交流と情報交換のTODOS・アップローダーも用意。ぜひTOPからもご覧ください。
ご参考になりましたら、お気軽に一筆お書き込みくださいませ。
題名 スレッドをトップへソート
名前
画像添付
JPEG
GIF
PNG



参照ボタンを押して、PCの画像を指定ください。3枚まで指定できます。縮小画像はクリックで拡大されます。
パスワード (好きなパスワードを。投稿後、右下のスパナマークをクリックし、そのパスワードを入れて修正できます。)
コメント

   クッキー保存
スレッドTOPへ***スレッド一覧