Erro iniciante java

07/04/2020

0

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

Responder

Post mais votado

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 :)

Ricardo Arraes

Ricardo Arraes
Responder

Mais Posts

08/04/2020

Lucas

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
Responder

08/04/2020

Ricardo Arraes

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!
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar