使用If Statement Inside for Java ATM Project切换

时间:2015-10-20 14:41:27

标签: java if-statement switch-statement logic

现在我正在开展一个ATM项目。 用户将输入他们的姓名,余额,交易类型和交易金额。交易类型为Withdraw (W)Deposit (D)R (Report),我使用switch,其中3 cases W,{{1} },D。如果您输入错误的代码,您没有足够的资金来执行您选择的交易类型,并且您输入的金额为负数,程序将输出错误。现在我难以设法R。我的代码如下,任何帮助将不胜感激!感谢

switch

2 个答案:

答案 0 :(得分:1)

您可以在开关体内写下如下情况。你可以进一步延长条件,但在这里我只是给你一个如何做的例子。如果字符不是D,W或R,则将执行默认情况。

    switch (code) {
        case 'D':
            balafter = balbefore + transamount;
            System.out.println("");
            if (balafter < 0) {
                pw.println("Insufficent funds");

            } else if (balafter < 300) {
                pw.println("Warning, balance below $300");
            }else{
                pw.println("Well. You have now " + balafter + "$");
            }
            break;
        case 'W':
            balafter = balbefore - transamount;
            if (transamount > balbefore) {
                pw.println("Sorry. You don't enough funds.");

            } else if (transamount <= balbefore && balafter < 300) {
                pw.println("Warning, balance below $300");
            } else {
                pw.println("The withdrawl was successful.");
            }
            break;
        case 'R':
            balafter = balbefore + transamount;
            if (balafter < 0) {
                pw.println("Insufficent funds");

            } else if (balafter < 300) {
                pw.println("Warning, balance below $300");
            } else {
                pw.println("Good. Your balance is " + balAfter);
            }
            break;
        default:
            System.out.println("Nothing to do.");
            break;
    }

答案 1 :(得分:0)

你快到了!在每个案例之后,您需要跟进break;并转到下一个case。在最后,你需要有一个default: break,它转换为“如果变量不适合任何情况,那么就打破开关”。

所以切换的工作原理如下:

switch(code) {
    case 'D': 
        // do deposit code
        break;
    case 'W':
        // do withdrawl code
        break;
    ...
    default:
        break;
}

Switch具有不同的语法,因为它没有花括号来定义代码块。它代之以break;以及以下case:default:继续前进。

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html有很好的例子供您使用。

评论后修改:

在回复您的评论时,您需要执行以下操作:

case 'W':
    tempBal = balbefore - transamount;
    if(tempBal < 0) {
        System.out.println("Insufficient Funds");
    }
    else {
        balafter = balbefore - transamount;
        if(balafter < 300) {
            System.out.println("Warning, balance below $300");
        }
    }
    break;
...
default:
    System.out.println("Please select "D", "W", or "R");
    break;