//Importa a classe Scanner, responsável por inserção de dados em variáveis
import java.util.Scanner;
public class MediaPonderada
{
public static void main(String args[])
{
//Cria o objeto insere da classe Scanner para inserir dados.
Scanner insere = new Scanner (System.in);
//o tamanho do array
int tamanho=3;
//cria um Array dados para armazenar as notas e seus pesos
double[] notas, pesos = new double[3];
//Criando variáveis de ponto flutuante do tipo Double
//A divisao é a soma dos pesos
double divisao=0, total=0, dados=0;
int ind=0;
try
{
//lembrando que o Array vai de 0 a 2 e não até 3
for (ind=0; ind<tamanho; ind++)
{
//%.0 especifica no printf zero casas decimais para numeros flutuantes(f) e \n pulo de linha
System.out.printf("Digite a %.0f nota: \n",ind);
notas[ind]=insere.nextDouble();
System.out.printf("Digite o peso da nota, entre 1 a 5: ");
pesos[ind]=insere.nextDouble();
/*usa o objeto insere da classe Scanner junto com a especificação nextDouble();
para inserir dados na variavel.
nextDouble() indica que se trata de uma variável de ponto flutuante do tipo Double
*/
if ((notas[ind]>10)||(notas[ind]<0))
{
System.out.println("A nota não pode ser maior do que 10 e nem menor do que zero!");
ind-=1;
}
else if((pesos[ind]<=0)||(pesos[ind]>5))
{
System.out.println("O peso da nota não pode ser menor ou igual a zero e nem superior a 5!");
ind-=1;
}
}
//calculo das notas x pesos / pesos
for (ind=0; ind<tamanho; ind++)
{
total+=notas[ind]*pesos[ind];
divisao+=pesos[ind];
}
total/=divisao;
//%.2 especifica no printf duas casas decimais para numeros flutuantes(f) e \n pulo de linha
System.out.printf("Nota: %.2f\n",total);
//verificando a situação
if (total<=3.49)
System.out.printf("REPROVADO!!!");
else if ((total>3.49)&&(total<=6.49))
System.out.printf("RECUPERACAO!!!");
else
System.out.printf("APROVADO!!!");
}
catch(NumberFormatException exception)
{
System.out.println("Digite algo como um número. Ex: 8.5");
ind-=1;
}
}
}
[color=black]Se alguém conseguir solucionar, fico grato.
abrs,[/color]