java - 是否可以在“if 语句”中为单个变量提供多个整数值以进行检查
问题描述
我对如何从 NetBeans 收到“非法的表达式开头...不是语句”错误感到困惑。我正在用 Java 编写代码,但对它还是很陌生。
长话短说,我想知道是否有一种方法可以检查单个变量的多个整数值(不确定我的措辞是否正确。)这是我的代码,它返回的错误在第一段中提到:
if (month == 1) && (month == 3) && (month == 5) && (month == 7) && (month == 8) && (month == 10) && (month == 12)
这是我第一次使用瞄准器,如果格式不正确,我深表歉意。
解决方案
语法正确的 java if 语句需要一对括号
if (...)
,但您写了很多对if (...)(...)...
。这就是语法错误的来源。AND (&&) 是错误的逻辑运算符。OR (||) 将是正确的运算符。
可能的解决方案:
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
if ((month == 1) || (month == 3) || (month == 5) || (month == 7) || (month == 8) || (month == 10) || (month == 12))
或者使用 switch case 语句:
switch (month) {
case 1: // do something ...;
break;
case 3: // do something ...;
break;
case 5: // do something ...;
break;
case 7: // do something ...;
break;
case 8: // do something ...;
break;
case 10: // do something ...;
break;
case 12: // do something ...;
break;
default: // month is not in one if the given values;
break;
}
或者你可以使用一个循环:
int[] values = {1,3,5,7,8,10,12};
for (int i : values) {
if (month == i) {
// do something ...
}
}
推荐阅读
- python - 使用 del 或 pop() 来简单地删除一个值是否合适?
- http - 可以使用 nginx 位置指令发送 http 请求吗?
- firebase - 使用 nuxt 应用程序中的身份验证信息查询服务器上的 firestore
- c# - LINQ Sum() 中的 IsNull
- ruby-on-rails - 如何清除 Rails 动作缓存?(Rails.cache.clear 不起作用)
- google-apps-script - 如何确定导致我的脚本运行的原因?
- laravel - 隐式路由模型绑定返回包中的空模型
- c# - 将程序添加到 DEP 异常列表,其中包含禁用 DEP 的代码或启动过程
- ruby-on-rails-5 - 如何在视图中显示 ActionCable 广播消息的 Rspec 系统
- angular - 简单表单 POST 的材料垫单选按钮名称属性