Melhoria

1 resposta
mateusaires

Eu já tinha experiencia com PHP e C++ na faculdade, agora comecei finalmente com JAVA, fiz um pequeno código e queria ver a opinião de vocês para melhoria, ou maneiras mais flexíveis de se fazer

import java.util.Scanner;

public class media_ponderada {

static double nota;

static double nota2;

static double nota3;

static double total;
public static void main(String args[]){  

	Scanner nota1 = new Scanner(System.in);  
	System.out.println("Digite a primeira nota? ");  
	nota = nota1.nextInt(); 
	Scanner nota02 = new Scanner(System.in);  
	System.out.println("Digite a segunda nota? ");  
	nota2 = nota02.nextInt();  
	Scanner nota03 = new Scanner(System.in);  
	System.out.println("Digite a terceira nota? ");  
	nota3 = nota03.nextInt();  
	
	total = (nota + nota2 + nota3) / 5;
	if (total > 60){
		System.out.println("Aluno Aprovado " + total);
	}
	else if (total <= 20) {
		System.out.println("Aluno Prova final "+ total);
	}
	else {
		System.out.println("Aluno Reprovado "+ total);
	}
	

}

}

1 Resposta

ViniGodoy

Crie um Scanner só. Use o método nextLine() para ler do teclado. Declare as variáveis no menor escopo possível, não no maior, e somente quando for usá-las, não no início do programa. Também observe que você declarou as notas como double, mas só permitiu a leitura como int, impedindo o professor de lançar notas quebradas. Finalmente, se isso é um programa para cálculo de média ponderada, faltou multiplicar alguma das notas pelos pesos (caso contrário, não faz sentido dividir por 5 tendo só 3 notas).

import java.util.Scanner;  

public class MediaPonderada {  
    public static void main(String args[]){  
        Scanner in = new Scanner(System.in);

        System.out.println(&quot;Digite a primeira nota? &quot;);  
        double nota1 = Double.parseDouble(in.nextLine());  	

        System.out.println(&quot;Digite a segunda nota? &quot;);  
        nota2 = Double.parseDouble(in.nextLine());  	

        System.out.println(&quot;Digite a terceira nota? &quot;);  
        nota3 = Double.parseDouble(in.nextLine());
		
        double total = (nota + nota2 + nota3) / 5.0;
        if (total &gt;= 60){
            System.out.println(&quot;Aluno Aprovado &quot; + total);
        } else if (total &lt; 20) {
            System.out.println(&quot;Aluno Prova final &quot;+ total);
        } else {
            System.out.println(&quot;Aluno Reprovado &quot;+ total);
        }
    }  
}
Criado 27 de novembro de 2015
Ultima resposta 27 de nov. de 2015
Respostas 1
Participantes 2