Java编程求助:如何实现输入两整数并输出其间所有偶数?
Java 区间偶数输出解决方案
以下是完整的实现代码,包含你需要的所有功能:
import java.util.Scanner; public class EvenNumberPrinter { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // 获取用户输入的两个整数 System.out.print("请输入整数X: "); int x = scanner.nextInt(); System.out.print("请输入整数Y: "); int y = scanner.nextInt(); // 统一遍历的起始和结束值,兼容X大于Y的情况 int start = Math.min(x, y); int end = Math.max(x, y); boolean hasEven = false; // 遍历区间内所有数字 for (int num = start; num <= end; num++) { // 判断是否为偶数 if (num % 2 == 0) { System.out.println(num); hasEven = true; } } // 未找到偶数时输出提示 if (!hasEven) { System.out.println("There are no EVEN integers between X and Y"); } scanner.close(); } }
核心逻辑说明
- 兼容输入顺序:用
Math.min()和Math.max()自动调整遍历的起始和结束值,不管用户先输入大数还是小数都能正确遍历区间。 - 偶数判断规则:通过
num % 2 == 0判断数字是否为偶数——能被2整除且余数为0的数就是偶数。 - 无偶数的处理:用
hasEven布尔变量标记遍历过程中是否找到偶数,循环结束后根据这个变量的状态输出对应的提示语。 - 资源清理:最后调用
scanner.close()关闭输入流,避免资源泄漏。
新手提示
- 如果输入非整数内容,程序会抛出
InputMismatchException,基础版本先保证核心逻辑正常,后续可以添加try-catch块处理这类异常。 - 循环条件用
num <= end确保X和Y本身也会被检查(符合需求中“包含X和Y”的要求)。
内容的提问来源于stack exchange,提问作者sarah
相关产品推荐
相关产品推荐

