java - 如何停止输出空变量?
问题描述
以下程序应显示一个窗口,要求输入从 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:”字段。
提前致谢。
解决方案
修改条件语句如下。
if(inputNumber >= 1 && inputNumber <= 12)
{
JOptionPane.showMessageDialog(null, "Quarter: " + quarter);
}
推荐阅读
- windows - libtorch 在 Windows 10 (VS2019) 上构建后抛出 c10::error
- kotlin - Kotlin 强制显式注释参数名称?@Foo(>>栏<< = 42)
- c++ - 将模板名称作为类参数传递会导致在可变参数扩展中使用时出错 - 我是否发现了 MSVC 编译器错误?
- vue.js - 如何在 iframe 中渲染组件 vuejs
- node.js - 验证不适用于猫鼬模式
- c++ - 为什么在分配 REQUIRE 垃圾回收时创建引用?
- docker-compose - Docker 组合具有不同定义和依赖关系的相同服务
- image - 翻转图像被相邻的下部容器部分隐藏
- terminal - 将 mac 更新到 12.0.1 monterey 后无法运行 virtualbox - 仅主机适配器出错
- javascript - 我可以将 setState 内部函数传递给 useCallback 吗?