Java如何在现有if-else语句中嵌套另一组if-else实现投票判断逻辑
Java投票资格判断逻辑实现方案
你需要将新增的登记判断if-else逻辑,放在yourage >= votersage对应的if分支内部,也就是输出「Have you registered to vote?」的代码块中。只有年龄符合投票要求的用户才需要判断登记状态,年龄不足的用户直接走else分支提示年龄不达标,不需要处理登记相关逻辑。
完整修改后代码
import java.util.Scanner; public class voting { public static void main(String[] args) { int yourage, votersage; votersage = 18; Scanner input = new Scanner(System.in); System.out.println("How old are you? "); yourage = input.nextInt(); // 吃掉nextInt残留的换行符,避免后续读取用户答复时读空 input.nextLine(); if (yourage >= votersage) { System.out.println("Have you registered to vote?"); // 接收用户的登记答复 String registerAnswer = input.nextLine(); // 新增的登记判断逻辑 if ("yes".equalsIgnoreCase(registerAnswer)) { System.out.println("you can vote"); } else { System.out.println("You must register before you can vote"); } } else { System.out.println("You are too young to vote"); } input.close(); } }
逻辑说明
- 第一层判断优先校验年龄门槛,过滤不符合年龄要求的用户
- 仅年龄达标后,才触发登记问题提问与后续判断,避免无效的逻辑执行
- 代码中使用
equalsIgnoreCase匹配答复,兼容用户输入大小写的场景,你也可以根据实际需求调整匹配规则
内容的提问来源于stack exchange,提问作者poi
相关产品推荐
相关产品推荐

