Amigos,
Boa tarde.
Começei a engatinhar em programação e resolvi iniciar com linguagem Java. Sou auto-didata e peço a ajuda de voce com algumas duvidas:
Desenvolvi o código abaixo com o objetivo de calcular a media final de alunos e retornar para o usuario se o mesmo foi aprovado, reprovado ou fara prova final. Sendo assim pergunto:
1 - Como limitar os valores atribuidos as variáveis nota1, nota2 e nota3 entre 0,00 e 10,0? Usei um artificio no codigo que retorna um erro para o usuário, mas existe outra maneira mais simples?
2 - Como limitar as variáveis float em 02 casas decimais? Alguem pode explicar detalhado? Tentei fazer “media = (%.2f + %.2f + %.2f) / 3 = %.2f, nota1, nota2, nota3, (nota1 + nota2 + nota3) / 3;” mas o sistema retorna erro. Sera que “viajei”???
[code]
import java.util.Scanner;
public class Resultado {
public static void main(String[] args) {
Scanner resultado = new Scanner(System.in);
float nota1;
float nota2;
float nota3;
float media;
System.out.print("Digite a primeira nota ");
nota1 = resultado.nextFloat();
System.out.print("Digite a segunda nota ");
nota2 = resultado.nextFloat();
System.out.print("Digite a terceira nota ");
nota3 = resultado.nextFloat();
media = (nota1 + nota2 + nota3) / 3;
if (nota1 > 10.0 || nota2 > 10.0 || nota3 > 10.0 || nota1 < 0.0 || nota2 < 0.0 || nota3 < 0.00) {
System.out.println("Voce digitou valores invalidos!");
} else {
System.out.println("Sua media foi " + media + ".");
}
if (media >= 7 && media <= 10 && nota1 <= 10.00 && nota2 <= 10.0 && nota3 <= 10.0) {
System.out.println("Voce esta aprovado!");
}
if (media >= 5 && media < 7 && nota1 <= 10.00 && nota2 <= 10.0 && nota3 <= 10.0) {
System.out.println("Voce ainda tem chances, mostre seu potencial na prova final.");
}
if (media < 5 && nota1 <= 10.00 && nota2 <= 10.0 && nota3 <= 10.0) {
System.out.println("Seja mais dedicado e tente no proximo ano.");
}
}
}[/code]