如何使用switch语句改写指定间隔输出X/O的Java程序?
将Java if-else代码改写为switch实现
原代码逻辑:通过Scanner输入整数a,循环遍历1到30的整数,若当前整数能被a整除则输出X,否则输出O。输入3时,期望输出XXXOOOXXXOOOXXXOOOXXX。
改写后的switch版本代码
import java.util.Scanner; public class Main2 { public static void main(String[] args){ Scanner scan = new Scanner(System.in); int a = scan.nextInt(); for (int i = 1; i <= 30; i++) { // 用i%a的结果作为switch匹配条件 switch (i % a) { case 0: System.out.print("X"); break; default: System.out.print("O"); break; } } scan.close(); // 补充关闭Scanner,避免资源泄漏 } }
说明
- 原代码中的变量
b未实际参与逻辑运算,属于冗余变量,改写时直接移除 - switch表达式使用
i%a,当结果为0时匹配case 0输出X,其余情况走default输出O,完全等价于原if-else逻辑 - 补充了
scan.close()语句,规范关闭输入流
内容的提问来源于stack exchange,提问作者Ильяс Вафин
相关产品推荐
相关产品推荐

