gpt4 book ai didi

java - 游程长度编码(输出数据中每个重复序列的长度以及数据值)

转载 作者:行者123 更新时间:2023-12-02 01:28:35 25 4
gpt4 key购买 nike

我想输出一些数据中每个重复序列的长度和数据值。因此,如果数据是7,7,2,9,9,9,3,3,6我应该得到 7 2, 2 1, 9 3, 3 2, 6 1

我是 java 新手,无法调试我的代码,我尝试运行以下代码,但没有得到完整的输出。我不明白如何调试这个?

final int ARRAY_SIZE = 9;
int data[]={7,7,2,9,9,9,3,3,6};
int val=data[0];
int length=1;
for (int index = 1; index < ARRAY_SIZE; index++)
if (data[index]==val)
length++;
else
{
System.out.println(val+" with length "+ length);
val=data[index];
length=1;
}

操作:

7 with length 2
2 with length 1
9 with length 3
3 with length 2

预期运营成本:

7 with length 2
2 with length 1
9 with length 3
3 with length 2
6 with length 1

最佳答案

在每次循环中,循环都会增加长度或打印,然后覆盖之前的 val 和长度。

这里遗漏的是循环完成后内存中的 val 和 length,因为没有下一个元素可以打印它们。

只需在循环结束后添加另一个 println,如下所示:

final int ARRAY_SIZE = 9;
int data[]={7,7,2,9,9,9,3,3,6};
int val=data[0];
int length=1;
for (int index = 1; index < ARRAY_SIZE; index++){
if (data[index]==val)
length++;
else {
System.out.println(val+" with length "+ length);
val=data[index];
length=1;
}
}
System.out.println(val+" with length "+ length);

关于java - 游程长度编码(输出数据中每个重复序列的长度以及数据值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56475570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com