gpt4 book ai didi

Java字符串: Checking for consecutive letters or numbers

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

问题:我正在使用 Java,我正在尝试计算字符串中连续的“字符”。

示例:

Scanner in = new Scanner(System.in);
int n = in.nextInt();

String binaryString = Integer.toBinaryString(n);

上面的代码返回输入的整数值的二进制字符串。如果我们输入数字 5,将返回:101

我现在希望循环遍历字符串并检查字符串中是否有连续的 1。

for (int i = 0; i < binaryString.lenth(); i++)
{
// code comes here...
}

我不知道如何检查这一点。我尝试过以下方法:

    for (int i = 0; i < binaryString.length(); i++)
{
char charAtPos = binaryString.charAt(i);
char charAtNextPos = binaryString.charAt(i+1);
if (charAtPos == '1')
{
if (charAtPos == charAtNextPos)
{
consecutive += 1;
}
}
}

但这显然会引发 ArrayIndexOutOfBounds,因为 i+1 将产生一个大于数组长度的数字。

预先感谢您的回答。

欧文

最佳答案

尝试运行 for 循环,其大小比字符串长度小一

 for (int i = 0; i < (binaryString.length()-1); i++)
{
char charAtPos = binaryString.charAt(i);
char charAtNextPos = binaryString.charAt(i+1);
if (charAtPos == '1')
{
if (charAtPos == charAtNextPos)
{
consecutive += 1;
}
}
}

关于Java字符串: Checking for consecutive letters or numbers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39052908/

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