Eu comecei a usar agora o eclipse e tenho que fazer um código usando saídas simples, só com println e printf mesmo, só que na hora de usar o printf sempre da erro. O estranho é que copiei o código pro Netbeans e funcionou perfeitamente. Só no eclipse que da erro mesmo. Já revisei o código todo e não consigo achar erro algum.
Stringproduct1="Computer";Stringproduct2="Office desk";byteage=30;intcode=5290;chargender='F';doubleprice1=2100.0;doubleprice2=650.50;doublemeasure=53.234567;System.out.println("Products:");System.out.printf("%s, which price is $ %.2f%n",product1,price1);System.out.printf("%s, which price is $ %.2f%n",product2,price2);System.out.println();System.out.printf("Record: %d years old, code %d and gender: %c%n",age,code,gender);System.out.println();System.out.printf("Measure with eight decimal places: %.8f%n",measure);System.out.printf("Rouded (three decimal places): %.3f%n",measure);Locale.setDefault(Locale.US);System.out.printf("US decimal point: %.3f%n",measure);
Exception in thread “main” java.lang.Error: Unresolved compilation problems:
The method printf(String, Object[]) in the type PrintStream is not applicable for the arguments (String, String, double)
The method printf(String, Object[]) in the type PrintStream is not applicable for the arguments (String, String, double)
The method printf(String, Object[]) in the type PrintStream is not applicable for the arguments (String, byte, int, char)
The method printf(String, Object[]) in the type PrintStream is not applicable for the arguments (String, double)
The method printf(String, Object[]) in the type PrintStream is not applicable for the arguments (String, double)
The method printf(String, Object[]) in the type PrintStream is not applicable for the arguments (String, double)
atcourse.Program.main(Program.java:24)
F
Fran.Silva
Tentei desse jeito e retorna o mesmo erro
H
Harmendani
O uso da função System.out.printf é um pouco diferente. Eis a sintaxe e sua utilização correta:
System.out.printf( formato, dados de saída)
Formato obviamente descreve a saída, a saída são separadas por vírgula.
Os formatos sempre começam com “%”, e como eu disse a saída são separadas por vírgulas.
Repare que você a utiliza assim: System.out.printf("Measure with eight decimal places: %.8f%n", measure);
O correto seria:
System.out.printf("\t%s%.8f","Measure with eight decimal places",measure);
Obs: Você pode formatar o código acrescentando caracteres de escape:
\t = tabulação
\n = salto de linha
Opte por usar outras funções de impressão como a System.out.println() que é mais simples e fácil de usar;
Espero ter ajudado!
F
Fran.Silva
Mesmo colocando a formatação assim, ainda dá erro.
O estranho é que esse erro acontece só no Eclipse, no Netbeans roda perfeitamente. Será que o problema não é com o Eclipse?
Eu utilizo o Eclipse Photon 3.8, o professor do curso que estou fazendo, que deu esse exercício, utiliza o Eclipse Luna, com o código exatamente como o que eu postei aqui e no dele roda sem erros.
H
Solucao aceita
Harmendani3 likes
O erro pode ser no Compliance Level do seu projeto no Eclipse.
Para isso, clique com botão direito do mouse em cima do pacote do teu projeto -> Properties->Java Compiler. A partir daí, desmarque a caixa "Use compliance… "
Em “Compiler compliance level” seleciona na combo a versão 1.6 ou posterior.