import javax.swing.*;

public class CercaNumeroRipetizioni {
  public static void main(String[] args) {
    String sequenza;
    int i, j, lunghezzaSottosequenza;
    int ripetizioniA = 0, ripetizioniB = 0;

    sequenza = JOptionPane.showInputDialog(
      "Inserisci la sequenza da analizzare");

    // Facciamo in modo che i caratteri della stringa di input siano maiuscoli
    sequenza = sequenza.toUpperCase();

    // Controlliamo che i caratteri immessi siano corretti
    for(i=0; i<sequenza.length(); i++) {
      if( (sequenza.charAt(i)!='A') && (sequenza.charAt(i)!='B') ) {
        JOptionPane.showMessageDialog(null, 
          "La sequenza che hai immesso  illecita");
        System.exit(0);
      }
    }

    // Contiamo la lunghezza massima delle sottosequenze
    // Primo ciclo: scandisce le possibili sottosequenze
    i=0;
    while(i<sequenza.length()) {
      j=i+1;
      // Secondo ciclo: scandisce i caratteri all'interno della sottosequenza
      // All'uscita dal ciclo, j  la posizione del primo carattere che non 
      // appartiene alla sottosequenza
      while( (j<sequenza.length()) && 
        (sequenza.charAt(j)==sequenza.charAt(i)) ) {
        j++;
      }
      lunghezzaSottosequenza = j-i;

      if( (sequenza.charAt(i)=='A') && (lunghezzaSottosequenza>ripetizioniA) ) {
        ripetizioniA = lunghezzaSottosequenza;
      }
      if( (sequenza.charAt(i)=='B') && (lunghezzaSottosequenza>ripetizioniB) ) {
        ripetizioniB = lunghezzaSottosequenza;
      }

      i=j;
    }

    JOptionPane.showMessageDialog(null, "Il numero di A consecutive  " +
      ripetizioniA + "\nil numero di B consecutive  " + ripetizioniB);
    System.exit(0);
  }
}