Erro iniciante java

Java

JAVA EE

07/04/2020

Estou fazendo um programa pelo NetBeans para pratica e deu esse erro não entendi o que significa

package tiposprimitibos1.pkg0;

import java.util.Scanner;

public class Tiposprimitibos10 {

public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
System.out.printf("Digite seu nome: ");
String nome = entrada.nextLine();

System.out.printf("Digite suas notas: ");
float nota = entrada.nextFloat();

System.out.printf("Digite suas notas: ");
float nota2 = entrada.nextFloat();

System.out.printf("Digite suas notas: ");
float nota3 = entrada.nextFloat();

System.out.printf("As notas de é %s %.2f %.2f %.2f \n" + nome, nota, nota2, nota3);
//sout+Tab
//System.out.printf("A nota de %s é %.2f \n", nome,nota2);
//format == printf
//System.out.format("A nota de %s é %.2f \n", nome,nota3);



}

}

O erro que aparece é esse na saida(no run)

run:
Digite seu nome: lucas
Digite suas notas: 9
Digite suas notas: 1,2
Digite suas notas: 8,4
Exception in thread "main" java.util.MissingFormatArgumentException: Format specifier ''%.2f''
As notas de é 9.0 1,20 8,40 at java.util.Formatter.format(Formatter.java:2519)
at java.io.PrintStream.format(PrintStream.java:970)
at java.io.PrintStream.printf(PrintStream.java:871)
at tiposprimitibos1.pkg0.Tiposprimitibos10.main(Tiposprimitibos10.java:22)
C:\Users\lucas\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1
FALHA NA CONSTRUÇÃO (tempo total: 45 segundos)
Lucas

Lucas

Curtidas 0

Melhor post

Ricardo Arraes

Ricardo Arraes

07/04/2020

O erro está na linha:

System.out.printf("As notas de é %s %.2f %.2f %.2f \\n" + nome, nota, nota2, nota3);

provavelmente por que há um sinal "+" que deveria ser ",".

Conheço pouquissimo de Java, mas espero ter acertado no palpite :)
GOSTEI 1

Mais Respostas

Lucas

Lucas

07/04/2020

O erro está na linha:

System.out.printf("As notas de é %s %.2f %.2f %.2f \\\\n" + nome, nota, nota2, nota3);

provavelmente por que há um sinal "+" que deveria ser ",".

Conheço pouquissimo de Java, mas espero ter acertado no palpite :)



obrigado pela resposta porem fiz a troca de + por , e o erro continua
GOSTEI 0
Ricardo Arraes

Ricardo Arraes

07/04/2020

O erro está na linha:

System.out.printf("As notas de é %s %.2f %.2f %.2f \\\\\\\\n" + nome, nota, nota2, nota3);

provavelmente por que há um sinal "+" que deveria ser ",".

Conheço pouquissimo de Java, mas espero ter acertado no palpite :)



obrigado pela resposta porem fiz a troca de + por , e o erro continua


Certo, percebi agora que você está usando vírgula para definir a casa decimal das notas na sua entrada de dados, tente usar ponto.
Ex: em vez de 1,2 e 8,4, digite: 1.2 e 8.4

Outra coisa para você tentar, caso nenhum dos palpites funcione é:
usar $%.2f em vez de %.2f, não sei bem a diferença, mas pesquisando sua mensagem de erro na internet vi que eles fazem essa sugestão.

Espero ter ajudado!
GOSTEI 0
POSTAR