首页 > 解决方案 > 如何停止输出空变量?

问题描述

以下程序应显示一个窗口,要求输入从 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:”字段。

提前致谢。

标签: javaswitch-statementcasejoptionpane

解决方案


修改条件语句如下。

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

推荐阅读