アプリ版:「スタンプのみでお礼する」機能のリリースについて

JavaでATMもどきを作成しているのですが分らないことがあるので大至急回答お願い致します。
始めに1を完成させたいと思っております。「・引き出し額を聞く」は表示できました。

1.引き出し額機能
・引き出し額を聞く
・残高以上やマイナス金額の入力NG
・最後に残高表示

(現状プログラム)
import java.io.*;

public class Bank{

public static void main(String[] args){

// 預金残高 100,000円
int balance = 100000;

//引出額を聞く
System.out.println("引出額を入力してください");

}
}
です。助けてくださぃ。

質問者からの補足コメント

  • うーん・・・

    何か間違いとかありますか。
    出来たら今日完成させたいです。
    どなたか助けてください。

      補足日時:2015/10/20 14:32

A 回答 (4件)

> どうしても分らなかったら、助けて頂けますか。


分からないなら、その都度質問すれば宜しいのでは。
私以外、というより、私より詳しい人は沢山いますから。
    • good
    • 1

> まとめて「ATMもどき」て出てきますか。


> サンプルコードとか。

そんなピンポイントな検索では絶対でません。
サンプルとして自動販売機はよく利用されますが。
そういう意味では、提示したコードが『ATMもどき』ですが。(預入、残高照会、振込は無いけど)
もしくは、基礎を理解して応用しようとしないならば、周りで作ってる人がいるならパクらせてもらうしかないんじゃないですか?
    • good
    • 2
この回答へのお礼

どうしても分らなかったら、助けて頂けますか。

お礼日時:2015/10/20 16:18

> 参考になるページとかはありますか。



それぞれの構文やクラス名で検索すれば大量に出てくると思います。
あなたが望む通りのものをそのまま掲載してくれるサイトなんてないのですから、試行錯誤してください。
また、やりたいことを細分化して検索しても大量に出てくるでしょう。

java クラス
java コンソール入力
java 数値 文字 変換
java while
java if

大したロジックでもないので、ちゃんと自分で調べようとすれば結構簡単にできると思いますが。
    • good
    • 2
この回答へのお礼

まとめて「ATMもどき」て出てきますか。
サンプルコードとか。

お礼日時:2015/10/20 16:02

だから、System.out.println()じゃ、入力受付しませんって。


文字を出力してるだけですからそれ。
http://www.yukun.info/blog/2008/11/java-user-sys …

テキトーに作ったので、勝手に参考にしてください。
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.lang.NumberFormatException;

public class BankTest {
private static String IDENTIFY_NUMBER = "1111";
private static int TRY_MAX_COUNT = 3;

public static void main(String[] args) throws IOException {
BankTest bankTest = new BankTest();
bankTest.run();
}

private void run() throws IOException {
Bank bank = new Bank(100000);

while (true) {
System.out.print("引出額を入力してください:");
BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
String line = r.readLine();
if (line == null) {
break;
}
int pullValue = 0;
try {
pullValue = Integer.parseInt(line);
} catch (NumberFormatException e) {
break;
}
if (!bank.canSubtract(pullValue)) {
continue;
}

if (!this.authenticate(r)) {
break;
}

bank.subtract(pullValue);
}

System.out.println("残高:" + String.valueOf(bank.getBalance()));
}

private boolean authenticate(BufferedReader r) throws IOException {
int tryCount = 1;
while (tryCount <= BankTest.TRY_MAX_COUNT) {
System.out.print("暗証番号:");
String line = r.readLine();
if (BankTest.IDENTIFY_NUMBER.equals(line)) {
break;
}
tryCount++;
}
return (tryCount <= BankTest.TRY_MAX_COUNT);
}
}

class Bank {
int balance = 0;

public Bank(int balance) {
this.balance = balance;
}

public boolean canSubtract(int value) {
return (balance >= value);
}

public void subtract(int value) {
this.balance -= value;
}

public int getBalance() {
return this.balance;
}
}


コンパイル・実行結果
javac BankTest.java
java BankTest
引出額を入力してください:50
暗証番号:1234
暗証番号:2222
暗証番号:1111
引出額を入力してください:100
暗証番号:1111
引出額を入力してください:100000
引出額を入力してください:1000
暗証番号:2222
暗証番号:2222
暗証番号:2222
残高:99850
    • good
    • 0
この回答へのお礼

参考になるページとかはありますか。

お礼日時:2015/10/20 15:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!