Проблема: Я играю в Java, и я пытаюсь подсчитать последовательные «символы» внутри строки.Java String: проверка на последовательные буквы или цифры
Пример:
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
будет производить несколько больше, чем длина массива.
Заранее благодарю вас за ответы.
Owen
, а как насчет binaryString.length() - 1 в вашем случае? :) – kolboc