QUESTÃO 1 A linguagem Java segue o paradigma de programação orientado a objetos, com isso a nossa programação baseia-se nesses conceitos. Para esta atividade, criaremos uma aplicação usando qualquer editor, mas o código deve ser executado em linha de comando, sem bibliotecas gráficas. Você deve implementar um sistema de controle de turma. Uma turma pode ter 5 alunos e cada aluno possui as informações de nome, ra e 4 notas bimestrais. Use como base o diagrama abaixo. Para isso, seu trabalho precisa ter: - Uma classe chamada Aluno, com nome, ra e 4 notas bimestrais. - Uma classe Turma, com um array de alunos, que será inicializado em seu construtor, com um array de 5 posições. - Você deve se atentar para as visibilidades dos atributos - Uma classe principal, que conterá o método main. No método main, deve conter o seguinte: • A criação de uma turma, salva em uma variável. • Uma rotina de looping, para cadastrar o nome e as 4 notas dos 5 alunos. Dentro do looping, após cadastrar as 4 notas, o sistema já exibe a média do aluno. • Após cadastrar tudo, chamar o método mediaTurma() da classe Turma, para calcular a média das médias dos alunos.
Respostas
import java.util.Scanner;
public class Main
{
public static void main(String[] args) {
Scanner s = new Scanner(System.in); // para ler os inputs;
Aluno[] salaX = new Aluno[4];
salaX[0] = new Aluno("Carlinho", 123456, 4);
salaX[1] = new Aluno("Pedrinho", 123455, 4);
salaX[2] = new Aluno("Joaozinho", 123454, 4);
salaX[3] = new Aluno("Larissinha", 123453, 4);
for (Aluno aluno : salaX){
System.out.println("Aluno "+aluno.name);
for(int i = 0; i<aluno.notas.length; i++){
System.out.print(" - digite a nota "+(i+1)+": ");
aluno.notas[i] = s.nextInt();
if(!(aluno.notas[i] >= 0 && aluno.notas[i] <= 10)){
i--;
}
}
System.out.println();
}
double somaNotasAlunos = 0;
for (Aluno aluno : salaX){
double media = aluno.getMedia();
System.out.println("Média do "+aluno.name+": "+
media);
somaNotasAlunos += media;
}
System.out.println();
System.out.println("Média da sala: "+(Math.floor(somaNotasAlunos/salaX.length*100)/100));
}
public static class Aluno{
String name;
int ra;
double[] notas;
public Aluno(String name, int ra, int notasSize){
this.name = name;
this.ra = ra;
this.notas = new double[notasSize];
}
public double getMedia(){
double total = 0;
int q = 0;
for(q = 0; q < notas.length; q++){
total+=notas[q];
}
return total/q;
}
}
}