Allora... un cast si effettua anteponendo ad un dato un diverso tipo di dato tra parentesi... quello che hai fatto tu è l'esatto contrario, quindi direi che non compilerebbe nemmeno:
codice:
strn_size = strn.length();
   for (int i = 0; i <=strn_size; ++i) {
      char c = strn.charAt(i);
      if (c.isDigit()) {
         //cast da char ad int
         int num = (int) c;
         for (int i = 0; i <= num; ++i) {
            //istruzione da mettere
         }
}
Comunque, a rigor di logica, il cast non dovrebbe nemmeno essere necessario, dato che stai promuovendo il tipo di dato. Il cast, infatti, è necessario quando si decide di declassare un dato: un intero è più grande di un char, quindi il cast avviene in modo automatico.


Ciao.