统计偶数白花输出对应字符Java代码仅示例通过,求问题排查方案
代码问题修复
你的代码存在3个核心问题导致仅参考用例可正常运行:
- 缺失
java.util.Scanner的导入声明,代码编译无法通过 - 白花计数变量
count定义在全局循环外,未每月重置,会累加所有历史月份的白花数量,导致奇偶校验逻辑完全错误 - 未处理当月白花数为奇数的场景,若规则要求奇数月不输出可保留该逻辑,否则需要补充对应分支代码
修正后完整代码
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("Enter number of flowers: "); int flower = input.nextInt(); System.out.println("Enter number of months : "); int month = input.nextInt(); String[] arr = new String[month]; for (int j = 0; j < month; j++) { arr[j] = input.next(); } for (int i = 0; i < month; i++) { char[] s = arr[i].toCharArray(); // 每个月重置白花计数器 int count = 0; for (int j = 0; j < flower; j++) { if (s[j] == 'W') { count++; } } if (count % 2 == 0) { // 输出黑花对应数量的F for (int k = 0; k < flower - count; k++) { System.out.print('F'); } // 输出白花对应数量的B for (int b = 0; b < count; b++) { System.out.print('B'); } } } input.close(); } }
验证说明
参考用例运行时,第一个月白花计数为2(偶数),输出1个F+2个B即FBB,第二个月白花计数为1(奇数)不输出,最终结果和预期一致。其他场景下每月计数独立统计,可正常输出正确结果。
内容的提问来源于stack exchange,提问作者pary
相关产品推荐
相关产品推荐

