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