1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Java ...

Discussão em 'Programação' iniciada por Sacer, 12 de Dezembro de 2008. (Respostas: 9; Visualizações: 758)

  1. Sacer

    Sacer Power Member

    Boas ..
    Quero converter uma String inserida pelo utilizador separadamente pelos seus caracteres num vector string ex:

    string antonio

    vecstring [0] = a ... e assim sucessivamente ..

    para tal fis este codigo :


    Código:
    public static void vectorial() throws StringIndexOutOfBoundsException { 
                 
                 int i,j;
                 int[]pos = new int[15];
                 String Str;
                 
                 out.format("introduza a equaçaõ então");
                    Str = in.nextLine();
                        for (i=1;i<pos.length;i++){
                        pos[i] = Str.charAt(i);
                 }             
             }
    
    
    mas quando corro dam uns erros esquesitos ... algum me consegue resolver este misterio ?
     
    Última edição pelo moderador: 12 de Dezembro de 2008
  2. IComeFromBehind

    IComeFromBehind Power Member

    Porque é que não usas o toCharArray() ?

    E se pusesses os erros?
     
  3. Sacer

    Sacer Power Member


    Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 1
    at java.lang.String.charAt(String.java:687)
    at LabProjecto1.exercicio_2.vectorial(exercicio_2.java:35)
    at LabProjecto1.exercicio_2.determinarequações(exercicio_2.java:20)
    at LabProjecto1.LabProjecto1.main(LabProjecto1.java:23)
    introduza a equaçaõ então
    Java Result: 1
     
  4. Videira08

    Videira08 Power Member

    vou aproveitar esta thread para colocar a minha questao, estou a começar a desenvolver um programa e estou a imprimir um texto.

    Código:
    f.format("x-%d/%d=y-%d/%d=z-%d/%d %n",Px[0],ux,Py[0],uy,Pz[0],uz);
    O que eu quero é que isto depois de imprimido passe todo o conteúdo exibido para uma string, e volte a imprimir novamente essa mesma mensagem, só que desta vez invocando a string...

    Entao eu fiz da seguinte maneira, só que deu um erro:
    Código:
            f.format("x-%d/%d=y-%d/%d=z-%d/%d %n",Px[0],ux,Py[0],uy,Pz[0],uz);
            String nnn = f.toString();
            out.format("Este é o valor de nnn %s",nnn);
    
    ERRO:
    x-1/1=y-1/1=z-1/1
    Este é o valor de nnn [email protected]
     
  5. IComeFromBehind

    IComeFromBehind Power Member


    Já reparaste que no ciclo for percorres sempre 15 posições independentemente do comprimento da String dada pelo utilizador?
     
  6. IComeFromBehind

    IComeFromBehind Power Member

    O f.format devia imprimir logo para o stream.
     
    Última edição: 12 de Dezembro de 2008
  7. solidforms

    solidforms Power Member

    Hum, mas é intenção imprimir para a consola? se calhar o ideal era fazer um out.printf(), desta forma imprime de certeza para a consola.
    O format penso que envia para o buffer da stream. Portanto nao sei se envia logo para a consola :O.
    Posso estar aqui a dizer asneiras :s.

    Cumps ;)
     
  8. IComeFromBehind

    IComeFromBehind Power Member

    Depende de como foi criado.
     
  9. solidforms

    solidforms Power Member

    sim, depende sempre da maneira que se implementa :007:.
    Mas enfim, é capaz de ser verdade. Eu disse que podia estar a dizer asneiras :-D.
    Mas a solução mais simples seria o printf, era directa e sem preocupações :p.

    Cumps ;).
     
  10. Videira08

    Videira08 Power Member

    Akilo imprimo o f.format...

    SO k depois ao passar para string, kero imprimir essa string, k vai ter mesmo texto k o f.format
     

Partilhar esta Página