Isso � uma novidade p/ mim:

j� que o Exception � um IndexOutOfBoundsException, no seu exemplo, se o 
String tiver um ' \0'  character, ele seria imprimido, ent�o modificando:

System.out.print(test.charAt(x++));
para:

System.out.println((int)test.charAt(x++));

deveria imprimir 0 como o ultimo int, mas n�o faz

O String guarda o valor dele assim:
char value[];

porem a classe Array � utilizado para saber o tamanho do array por exemplo:
value.length = 5 no nosso exemplo com "teste"

porem 

char value[] = {'t', 'e', 's', 't', 'e'};
value.lengt == 5

em C/C++ n�o existe um classe array que faz isso para vc
char teste[5];
strcpy("teste", teste);
do{
printf("%s", teste);
} while(true);
o outoput disso n�o seria:
teste
mas seria algo assim:
teste�%$%�(%�(�%%D&%�#DDT&*(Y * *Y(&��&T&��TV*R%�R
at� por acaso um '\0' seria achado na m�moria simplismente porque o array cd chars n�o 
tem espa�o para o terminador. S� funciona com char teste[6];

Isso � um dos maiores problemas de C/C++ e possibilita 80% dos exploits no seguran�a 
de qualquer OS.

sven






Jason Douglas de Oliveira wrote:

> Boa Tarde Carlos.
> 
> Neste caso voc� s� tem a matriz sem finalizador.
> tente isso:
>     String test = "teste";
>     int x=0;
>     try{
>       do{
>          System.out.print(test.charAt(x++));
>       }while(true);
>     }catch(Exception __e){
>       System.out.println(__e.getMessage());
>     }
> quando o erro ocorre o char('\0') n�o � impresso.
> 
> Abra�os.
> 
> 
> 
> 
> ----- Original Message -----
> From: Carlos Alberto Viana Correia - SAO <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Friday, May 11, 2001 10:36 AM
> Subject: RES: [java-list] como sei o final de uma string
> 
> 
> Acesso pelo menor pre�o do mercado! R$ 14,90 nos 3 primeiros meses!
> ASSINE AGORA! http://www.bol.com.br/acessobol/
> 
> 
> � \0 mesmo no �ltimo caracter..
> 
> -----Mensagem original-----
> De: jspdeveloper [mailto:[EMAIL PROTECTED]]
> Enviada em: sexta-feira, 11 de maio de 2001 09:35
> Para: [EMAIL PROTECTED]
> Assunto: [java-list] como sei o final de uma string
> 
> 
> pessoal, bom dia!
> 
> ontem me fizeram uma pergunta q nao soube responder: como sabemos o final de
> uma string.
> no C , nao me lembro bem, mas eh algo parecido com \0.
> 
> No java a string eh uma matriz de caracteres, pelo que entendi. Mas no final
> dessa matriz eu tenho caracter finalizador ou eh soh a matriz mesmo?
> 
> 0brigad0!
> 
> 
> ------------------------------ 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]
> -------------------------------------------------------------------------
> 
> ------------------------------ 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]
> -------------------------------------------------------------------------
> 
> 
> 
> 
> ------------------------------ 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] 
> -------------------------------------------------------------------------
> 
> 


------------------------------ 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] 
-------------------------------------------------------------------------

Responder a