2015-01-10 3 views
0

У меня есть этот код для вычисления числа последовательных символов, похожих в строке.Ошибка строки вывода строки Java

public class Solution { 

public static int count; 

public static void main(String[] args) 
{ 

    Scanner s= new Scanner(System.in); 
    int a = s.nextInt();//no of testcases 
    char a1,b1; 
    for(int i=0;i<=a;i++) 
    { 
     String str=s.nextLine(); 
     int len=str.length(); 
     for(int b=0;b<len-1;b++) 
     { 
      a1=str.charAt(b);   
      b1=str.charAt(b+1); 
      if(a1==b1) count++;    
     } 
     System.out.println(count); 
     count=0; 
    } 
} 
} 

Вход:

1 
AAAA 

Ожидаемый результат:

3 

выход программы:

0 
3 

Я не могу найти ошибку.

+0

Пожалуйста, прочтите [Как отлаживать небольшие программы] (http://ericlippert.com/2014/03/05/how-to-debug-small-programs/). – honk

ответ

1

У вас неправильное условие цикла. Изменить "i < = a" to "i < a".

+0

Когда я изменить мой цикл, то для ввода 5 АААА BBBBB ABABABAB бабаба AAABBB выход 0 и последний 4 отсутствует и 0 в начале все же есть. – reaper1

+0

После первого вызова nextInt() вам также необходимо добавить вызов nextLine(). – yole

+0

thnx, но почему я должен добавить nexLine после nextInt, мне нужен только межсетевой вход. – reaper1

Смежные вопросы