嵌套的IF语句,很难完成

时间:2014-11-05 07:53:22

标签: java nested

关于我的家庭作业的问题是:

  

编写执行以下测试的嵌套if语句:如果amountl大于10amount2小于100,则显示两者中的较大者。

这是我到目前为止所做的:

import javax.swing.JOptionPane;

public class nestedif {
    public static void main(String[] args) {
        int amount1, amount2;

        amount1 = JOptionPane.showInputDialog("Enter amount 1: ");
        amount1 = Integer.parseInt(amount1);

        amount2 = JOptionPane.showInputDialog("Enter amount 2: ");
        amount2 = Integer.parseInt(amount2);

        if (amount1>10)

        if (amount2<100)

    }
}

2 个答案:

答案 0 :(得分:1)

这里的答案都有效,但每个人似乎都瞥了一眼指示。它说写一个嵌套的if语句,它只是另一个if语句中的if语句。

你想要按照以下方式做点什么:

if(amount1 > 10 && amount2 < 100){
    if(amount1 > amount2){
        System.out.println(amount1);
    }
    else{
        System.out.println(amount2);
    }
}

答案 1 :(得分:0)

  

如果amountl大于10且金额2小于100,则显示两者中的较大者。

您必须将此语句从普通英语“翻译”为普通Java(或任何其他编程语言

翻译:

if(amount1 > 10 && amount2 < 100){
    System.out.println(amount1 > amount2 ? amount1 : amount2);
}

或者您可以使用与JRE捆绑在一起的预定义Java工具,因此您不必一遍又一遍地重写相同的代码。此版本使用预定义的Math.max(int,int)

if(amount1 > 10 && amount2 < 100){
    System.out.println(Math.max(amount1,amount2));
}

或者如果你坚持,只需自己重写最大功能:

public int greaterOfTwo(int first, int second){ // or simply call it max
    return first > second ? first : second;
}

if(amount1 > 10 && amount2 < 100){
    System.out.println(greaterOfTwo(amoun1,amount2));
}