Há várias formas de simplificar esse código. Você conhece arrays (vetores) e/ou listas em Java? Tente tirar do método main o cálculo da média e passe para outro método criado por você. Exemplo:
public double calculaMedia(ListaOuVetor notas) {
// Aqui vc vai percorrer o vetor ou a lista, calcular e retornar a média.
}
public static void main(String args[]) {
float media;
float provas[] = new float[3];
provas[0] = Float.parseFloat(JOptionPane.showInputDialog("Digite a primeira nota"));
provas[1] = Float.parseFloat(JOptionPane.showInputDialog("Digite a segunda nota"));
provas[2] = Float.parseFloat(JOptionPane.showInputDialog("Digite a terceira nota"));
media = (provas[0] * 2 / 10) + (provas[1] * 3 / 10) + (provas[2] * 5 / 10); // Aqui
if(media>=4){ // E aqui, embora o número de linhas permaneça o mesmo, acho que fica mais "bonito" assim
if(media>=7){
JOptionPane.showMessageDialog(null, "Sua media é = "+media+", você foi aprovado");
}else{
JOptionPane.showMessageDialog(null, "Sua media é = "+media+", você esta de recuperação");
}
}else{
JOptionPane.showMessageDialog(null, "Você foi reprovado. Média: "+ media);
}
}
} [/code]
Edit: Não curto muito Arrays, prefiro Listas, mas já que é algo tão pequeno…
Não necessariamente. Ao ler do dialog, ao invés de você jogar numa variável, basta vc jogar no array ou na lista. Isso vai facilitar o cálculo da sua média porque você pode se basear no tamanho da lista automaticamente ou na quantidade de registros do vetor.
Declare as variáveis quando for usa-las. Java não é C, não há necessidade de declarar tudo no início do método;
Você pode deixar a conta toda numa linha só;
Dá para simplificar um pouco se você separar o texto do resultado da exibição da média.
import javax.swing.JOptionPane;
//Dê nome de classes com letra maiúscula.
//Além disso, pela convenção de código do Java, chaves ficam na linha de cima.
public class Avaliacao {
//Faça indentação do código corretamente
public static void main(String args[]) {
//Dê nomes descritivos. A variável representam notas, não provas.
float nota1 = Float.parseFloat(JOptionPane.showInputDialog("Digite a primeira nota"));
float nota2 = Float.parseFloat(JOptionPane.showInputDialog("Digite a segunda nota"));
float nota3 = Float.parseFloat(JOptionPane.showInputDialog("Digite a terceira nota"));
//Evite mudar o significado da variável no meio do caminho
float media = (nota1 * 2 + nota2 * 3 + nota3 * 5) / 10;
String resultado;
if(media >= 7) {
resultado = "voce foi aprovado";
} else if(media >= 4) {
resultado = "você esta de recuperação";
} else {
resultado = "você foi reprovado ";
}
JOptionPane.showMessageDialog(null, "Sua média foi: " + media + ". " + resultado);
}
}
//Nome da classe começa com letra maiúscula!
public class Avaliacao {
//Esse método está dentro da classe
public static void main(String args[]) {
//Esse código está dentro do método
float nota[] = new float[3];
nota[0] = Float.parseFloat(JOptionPane.showInputDialog("Digite a primeira nota"));
nota[1] = Float.parseFloat(JOptionPane.showInputDialog("Digite a segunda nota"));
nota[2] = Float.parseFloat(JOptionPane.showInputDialog("Digite a terceira nota"));
float media = (nota[0] * 2 + nota[1] * 3 + nota[2] * 5) / 10;
String resultado;
if(media >= 7) {
resultado = "Aprovado";
} else if(media >= 4) {
resultado = "Recuperação";
} else {
resultado = "Reprovado";
}
JOptionPane.showMessageDialog(null, "Você foi " +resultado+ ". Sua nota foi "+media + ".");
}