Qual o erro com meu código? Ele está dando erro na linha 34 no "Maluno"

2 respostas
java-se
Roger_Lopes

import java.util.Locale;
import java.util.Scanner;

public class melhorAlunodaTurma {

public static void main(String[] args) {
	Locale.setDefault(Locale.US);
	Scanner sc = new Scanner(System.in);
	
	int alunos, cont;
	double nota, maiornota = 0;
	String nome, Maluno ;
	
	System.out.println("----------------------");
	System.out.println("Escola Santa Paciência");
	System.out.println("----------------------");
	System.out.print("Quantos alunos a turma tem? ");
	alunos = sc.nextInt();
	cont = 1;
	while (cont <= alunos) {
		System.out.println("--------------------");
		System.out.println("ALUNO "+cont);
		System.out.print("Nome do aluno: ");
		nome = sc.next();
		System.out.print("Nota de "+nome+": ");
		nota = sc.nextDouble();
		if (nota > maiornota) {
			maiornota = nota;
			Maluno = nome;
		}
		cont = cont + 1;
	}
		System.out.println("--------------------");
		System.out.printf("O melhor aproveitamento foi de ",Maluno," com a nota %.1f%n",maiornota);
							
	sc.close();
}

}

2 Respostas

SkyG0D

1° Erro: A variável Maluno não foi inicializada.
2° Erro: O System.out.printf() não funciona assim! Ele teria que ser modificado para:

System.out.printf("O melhor aproveitamento foi de %s com a nota %.1f%n",Maluno ,maiornota);

OBS: Tente seguir o padrão CamelCase, pois será muito útil para você no futuro. aqui o link caso queira ter maior conhecimento sobre: CamelCase

Roger_Lopes

Obrigado amigo pela dica, estou aprendendo Java e sua dica me ajudou muito inclusive o CamelCase, já corrigi o problema e deu certo.

Criado 18 de maio de 2020
Ultima resposta 19 de mai. de 2020
Respostas 2
Participantes 2