You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用嵌套if语句判断投票资格?修正Java代码逻辑错误

问题分析与修正

你的代码核心问题是嵌套if的逻辑完全矛盾:外层if (verify >= 18)已经筛选出年龄≥18的情况,进入这个分支后,verify的值必然≥18,内层的if (verify <=17)自然永远不可能成立,所以这段代码永远不会执行。

要实现投票资格判断,你需要用else分支来处理年龄<18的情况,而不是嵌套if。以下是修正后的完整代码:

import java.util.Scanner;
public class exe6 {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);

        System.out.print("Enter your age for verification: ");
        int verify = sc.nextInt();

        if (verify >= 18){
            System.out.println("You are eligible to vote.");
        } else {
            System.out.println("Minors are ineligible to vote");
        }
        
        sc.close(); // 关闭Scanner资源,避免资源泄漏
    }
}

修正说明

  • 用else替代无效的嵌套if:当外层if条件不成立时(即年龄<18),自动进入else分支执行未成年人提示
  • 新增sc.close():这是基础的Java资源管理习惯,避免Scanner占用的资源无法及时释放

内容的提问来源于stack exchange,提问作者レッド・ スワン

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 17:42:00