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

如何为Java随机数数组添加连续重复序列(Runs)检测与标记功能?

实现Java连续重复序列(Runs)检测功能

我来帮你搞定这个连续重复序列(Runs)的检测和格式化输出功能!先把你现有代码补全,再实现核心的Runs检测逻辑,下面是完整的解决方案:

完整代码实现

import java.util.Scanner;

public class RunDetector {
    public static void main(String[] args) {
        Scanner reader = new Scanner(System.in); // 保留你原有的代码结构
        int[] numbers = new int[20];
        
        // 生成20个1-6范围内的随机数
        for(int i = 0; i < numbers.length; i++) {
            numbers[i] = (int)(Math.random() * 6 + 1); // 补全随机数生成逻辑,确保是1-6的整数
        }
        
        // 检测并格式化输出Runs
        if (numbers.length == 0) {
            return;
        }
        
        int currentValue = numbers[0];
        int runStartIndex = 0;
        
        for (int i = 1; i < numbers.length; i++) {
            if (numbers[i] != currentValue) {
                // 处理当前结束的序列
                printRun(numbers, runStartIndex, i - 1);
                // 更新当前跟踪的序列信息
                currentValue = numbers[i];
                runStartIndex = i;
            }
        }
        
        // 处理最后一段序列,避免遗漏数组末尾的连续值
        printRun(numbers, runStartIndex, numbers.length - 1);
    }
    
    // 辅助方法:根据序列长度决定输出格式
    private static void printRun(int[] numbers, int start, int end) {
        if (end - start >= 1) { // 连续重复值≥2个,用()包裹
            System.out.print("(");
            for (int i = start; i <= end; i++) {
                System.out.print(numbers[i]);
                if (i != end) {
                    System.out.print(" ");
                }
            }
            System.out.print(") ");
        } else { // 单个值,直接输出
            System.out.print(numbers[start] + " ");
        }
    }
}

关键逻辑解释

  1. 随机数生成补全:Math.random() * 6生成0-6的浮点数,加1后转整数,刚好得到1-6的随机数,完美匹配你的需求。
  2. Runs检测核心:
    • 用currentValue跟踪当前连续序列的数值,runStartIndex记录序列的起始位置。
    • 遍历数组时,一旦遇到不同数值,就调用printRun处理之前的连续段。
    • printRun方法判断序列长度:如果长度≥2,就用()包裹输出;否则直接打印单个数字。
  3. 边界处理:遍历结束后单独处理最后一段序列,避免漏掉数组末尾的连续重复值。

示例输出

运行程序后,你会得到类似这样的输出:

1 2 (5 5) 3 1 2 4 3 (2 2 2 2) 3 6 (5 5) 6 3 1

内容的提问来源于stack exchange,提问作者e785d

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:41:58