Java ...

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:
Porque é que não usas o toCharArray() ?

E se pusesses os erros?


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
 
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 java.io.PrintStream@a62fc3
 
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


Já reparaste que no ciclo for percorres sempre 15 posições independentemente do comprimento da String dada pelo utilizador?
 
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 java.io.PrintStream@a62fc3

O f.format devia imprimir logo para o stream.
 
Última edição:
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 ;).
 
Back
Topo