Olá pessoal, sou novato em programação, e estou começando com java.
Gostaria de saber como delimito um numero de casas decimais após a virgula, na hora de ser executado e impresso na tela.
public class MediaFinalAluno {
public static void main(String[] args) {
double nota1 = 10;
double nota2 = 8;
double nota3 = 6;
double nota4 = 7;
double nota5 = 4;
double nota6 = 5;
double nota7 = 4;
double nota8 = 9;
double nota9 = 8;
double nota10 = 6;
double nota11 = 8;
double nota12 = 10;
double mediaPrimeiroBimestre = nota1 + nota2 + nota3;
double mediaSegundoBimestre = nota4 + nota5 + nota6;
double mediaTerceiroBimestre = nota7 + nota8 + nota9;
double mediaQuartoBimestre = nota10 + nota11 + nota12;
double mediaFinalAluno = mediaPrimeiroBimestre / 3 + mediaSegundoBimestre / 3 + mediaTerceiroBimestre / 3 + mediaQuartoBimestre / 3;
mediaFinalAluno = mediaFinalAluno / 4;
System.out.println("Media do Primeiro Bimestre = " + (mediaPrimeiroBimestre / 3));
System.out.println("Media do Segundo Bimestre = " + (mediaSegundoBimestre / 3));
System.out.println("Media do Teceiro Bimestre = " + (mediaTerceiroBimestre / 3));
System.out.println("Media do Quarto Bimestre = " + (mediaQuartoBimestre / 3));
System.out.println("Media Final do Aluno = " + (mediaFinalAluno));
if (mediaFinalAluno > 7) {
System.out.println("Aluno Aprovado");
} else if (mediaFinalAluno >= 4.59 && mediaFinalAluno <= 6.999999999999) {
System.out.println("Aluno Aprovado Pelo Conselho");
} else if (mediaFinalAluno < 5) {
System.out.println("Reprovado");
}
}
}
E o resultado sai assim:
Media do Primeiro Bimestre = 8.0
Media do Segundo Bimestre = 5.333333333333333
Media do Teceiro Bimestre = 7.0
Media do Quarto Bimestre = 8.0
Media Final do Aluno = 7.083333333333333
Aluno Aprovado
1 curtida
Use printf e %.2f (se quiser mostrar 2 casas depois da vírgula). Exemplo:
System.out.printf("Media do Primeiro Bimestre = %.2f %n", (mediaPrimeiroBimestre / 3));
%.2f - pega o argumento e imprime com 2 casas depois da vírgula.
%n - passa para a próxima linha (equivalente ao println()).
OK?
4 curtidas
entanglement
Valeu, alguem atendeu um pobre noob me progamação.
rs rs
Testei e deu certo 
1 curtida
Usa o decimalFormat
que você trata isso e já arredonda de acordo com a formatação desejada “0.00” duas casas apos a virgula - “00.00” duas antes e duas depois , nesse caso ele poe 0 na frente se o numero tive só na casa das unidades e por ai vai
Resolvi.
Acabou ficando assim.
public class MediaFinalAluno {
public static void main(String[] args) {
double nota1 = 10;
double nota2 = 8;
double nota3 = 6;
double nota4 = 7;
double nota5 = 4;
double nota6 = 5;
double nota7 = 4;
double nota8 = 9;
double nota9 = 8;
double nota10 = 6;
double nota11 = 8;
double nota12 = 10;
double mediaPrimeiroBimestre = nota1 + nota2 + nota3;
double mediaSegundoBimestre = nota4 + nota5 + nota6;
double mediaTerceiroBimestre = nota7 + nota8 + nota9;
double mediaQuartoBimestre = nota10 + nota11 + nota12;
double mediaFinalAluno = mediaPrimeiroBimestre / 3 + mediaSegundoBimestre / 3 + mediaTerceiroBimestre / 3 + mediaQuartoBimestre / 3;
mediaFinalAluno = mediaFinalAluno / 4;
System.out.printf("Media do Primeiro Bimestre = %.2f %n", (mediaPrimeiroBimestre / 3));
System.out.printf("Media do Segundo Bimestre = %.2f %n", (mediaSegundoBimestre / 3));
System.out.printf("Media do Terceito Bimestre = %.2f %n", (mediaTerceiroBimestre / 3));
System.out.printf("Media do Quarto Bimestre = %.2f %n", (mediaQuartoBimestre / 3));
System.out.printf("Media Final do Aluno = %.2f %n", (mediaFinalAluno));
if (mediaFinalAluno > 7) {
System.out.println("Aluno Aprovado");
} else if (mediaFinalAluno >= 4.59 && mediaFinalAluno <= 6.999999999999) {
System.out.println("Aluno Aprovado Pelo Conselho");
} else if (mediaFinalAluno < 5) {
System.out.println("Reprovado");
}
}
}
Valeu ai galera.
So uma coisa amigo, sobre este IF:
iif (mediaFinalAluno > 7) {
System.out.println("Aluno Aprovado");
} else if (mediaFinalAluno >= 4.59 && mediaFinalAluno <= 6.999999999999) {
System.out.println("Aluno Aprovado Pelo Conselho");
} else if (mediaFinalAluno < 5) {
System.out.println("Reprovado");
}
Ficaria mais elegante assim:
iif (mediaFinalAluno > 7) {
System.out.println("Aluno Aprovado");
} else if (mediaFinalAluno < 5) {
System.out.println("Reprovado");
} else {
System.out.println("Aluno Aprovado Pelo Conselho");
}
Sacou, maior que sete, aprovado, menor que cinco, reprovado, qualquer outra coisa (que neste caso é o intervalo entre 5 e 7, excluindo-se estes dois) sai aprovado pelo conselho
E o if fica mais legivel, voce tem sempre que pensar que:
- Outras pessoas irão ler seu codigo.
- Daqui há 10 anos você irá ler seu código.
Como dizem por aí, escrever um código que um computador entenda é moleza! O difícil é escrever código que as outras pessoas entendam.
Veja bem, não é uma crítica, é só uma dica pra você.
[]s
Kemper
2 curtidas
Valeu Kemperacc, fica bem mais fácil definir por esse modo, e mais legivel, eu tinha ido pelo modo mais complicado.