如何停止输出空变量?

时间:2019-04-28 14:16:00

标签: java switch-statement case joptionpane

以下程序应显示一个窗口,要求输入1到12之间的数字。 每个数字都设置为一个月的值(1 =一月等)。 然后,它应输出键入月份所在的一年的季度(1 =一月;一月=1。一年的季度)。 输入错误的数字将向用户输出错误消息。 使用Switch Case进行评估。

到目前为止,几乎所有功能都可以正常使用,但是我遇到的问题是,当我输入的数字超出范围(1到12)时,这意味着小于1或大于12,我首先会收到输出消息“输入错误!”然后还有消息“季度:”。

我已经检查了oracle网站是否存在此问题,但是我找不到有关此信息。 他们有类似的代码,但是它在命令行中输出,我想使用JOptionPane.showMessageDialog

import javax.swing.*;

public class WhichQuarterIsThis
{
    public static void main(String[] args)
    {
        String input, output, quarter;
        int inputNumber;

        input = JOptionPane.showInputDialog(null, "put in a number (1-12).");
        inputNumber = Integer.parseInt(input);
        quarter = "";

        switch(inputNumber)
        {
            case 1:
            case 2:
            case 3: quarter = "1";
                break;
            case 4:
            case 5:
            case 6: quarter = "2";
                break;
            case 7:
            case 8:
            case 9: quarter ="3";
                break;
            case 10:
            case 11:
            case 12: quarter = "4";
                break;

            default: JOptionPane.showMessageDialog(null,"wrong input!");
        }
        if(inputNumber >= 1 || inputNumber <= 12)
        {
            JOptionPane.showMessageDialog(null, "Quarter: " + quarter);
        }
    }
}

当输入值超出1到12的范围时,不应输出“ Quarter:”字段。

谢谢。

1 个答案:

答案 0 :(得分:2)

按如下所示修改条件语句。

if(inputNumber >= 1 && inputNumber <= 12)
{
    JOptionPane.showMessageDialog(null, "Quarter: " + quarter);
}