Modifique para: char ch = (char)('a' + 30);
o motivo do typecast é que Java trata operacao com inteiros como tendo resultado inteiro. Isso nos leva a códigos como: byte a = 1, b = 2; byte c; c = a + b; //errado c = (byte)(a + b); A exceção é quando um tipo é inteiro e o outro é maior, como um long, ou double, por exemplo. Nesses casos, os operandos são convertidos para long (ou double, de acordo com o exemplo) e o resultado da operação será um long. Até mais, Douglas Fabiano /***************************************** * Uma mente que se abre a uma nova idéia * jamais retorna ao seu tamanho original * A. Einstein ******************************************/ ------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------