Array de Objectos em Java
Por: Americo Langa • 26/10/2017 • Ensaio • 3.440 Palavras (14 Páginas) • 336 Visualizações
EXERCÍCIOS DE APLICAÇÃO
- Seja dada uma turma com capacidade máxima de 100 estudantes, onde cada estudante é caracterizado pelo número, nome, disciplina, três avaliações do tipo ACS e duas do tipo ACP. Fazer um programa java que faz a gestão da turma com recurso aos métodos a seguir descritos:
- public static void insercao(){}, que permite inserir um registo do estudante na turma;
- public static void impressao(){}, que permite imprimir cada registo dos estudantes inscritos na turma;
- public static void emissaoPaulta(){}, que permite calcular as medias de ACS, ACP, Frequência, Situação e imprimir a pauta de cada estudante;
- public static int procura(int nrEst){}, que permite com base no Número do estudante localizar o registo do estudante e retornar a posição que ocupa no array;
- public static void remove(int nrEst){}, que permite apagar o registo de um certo Estudante;
- public static void main(String args[]){}, que permite implementar os métodos anterior de forma iterativa e opcional – use switch-case dentro de um do-while..
- Seja dada uma empresa com capacidade máxima de 100 trabalhadores, onde cada trabalhador é caracterizado pelo NUIT, nome, profissão, salario base, subsidio técnico eoutras bonificções. Fazer um programa java que faz a gestão da empresa com recurso aos métodos a seguir descritos:
- public static void insercao(){}, que permite inserir um registo do trabalhador na empresa;
- public static void impressao(){}, que permite imprimir cada registo dos trabalhadores admitidos na empresa;
- public static void folhaSalarial(){}, que permite calcular total das remunerações, desconto a favor do INSS, salario liquido e imprimir a o boletim do pagemanto de cada trabalhador;
- public static int procura(int nuit){}, que permite com base no NUIT localizar o registo de um trabalhador e retornar a posição que ocupa no array;
- public static void remove(int nuit){}, que permite apagar o registo de um certo trabalhador;
- public static void main(String args[]){}, que permite implementar os métodos anterior de forma iterativa e opcional – use switch-case dentro de um do-while.
- Considere que uma mercenária venda no máximo 10000 itens doe produtos, onde cada venda é caracterizado pelo número, nome do produto, preço por unidade quantidade e taxa de iva. Fazer um programa java que faz a gestão da mercearia com recurso aos métodos a seguir descritos:
- public static void insercao(){}, que permite inserir um registo de uma venda;
- public static void listaVenda(){}, que permite calcular custo da venda sem IVA, valor do IVA, custo da venda incluindo o valor do IVA e imprimir a informação da venda;
- public static int procura(int codVenda){}, que permite com base no Código da Venda localizar o registo da venda e retornar a posição que ocupa no array;
- public static void remove(int codVenda){}, que permite apagar o registo de uma certa Venda;
- public static void main(String args[]){}, que permite implementar os métodos anterior de forma iterativa e opcional – use switch-case dentro de um do-while.
OS EXERCÍCIOS 2 E 3 DEVEM SEREM RESOLVIDOS EM GRUPOS DE 2 ESTUDANTES COMO AVALIAÇÃO NÃO PRESENCIAL (8.0Valors) E ALEATORIAMENTE SERÁ ATRIBUÍDO NO LABORATÓRIO COMO AVALIAÇÃO PRESENCIAL (12.0valores).
RESOLUÇÃO DO EXERCICIO 1
import javax.swing.JOptionPane;
public class PautaTurma_Metodos {
static final int capacidade = 100;
static int nrEsts[]=new int[capacidade];
static String nomes[][]=new String[capacidade][2];
static double notas[][]=new double[capacidade][5];
static int nrElem=0;
private static void insercao(){
if(nrElem < capacidade){ // Avalia se está esgotado a capacidade de arrays
// Entrada de dados de um Estudante pelo teclado e insere na posição nrElem do array
nrEsts[nrElem]=Integer.parseInt(JOptionPane.showInputDialog("NUMERO DO ESTUDANTE?"));
nomes[nrElem][0]=JOptionPane.showInputDialog("NOME DO ESTUDANTE?");
nomes[nrElem][1]=JOptionPane.showInputDialog("NOME DA DISCIPLINA?");
notas[nrElem][0]=Double.parseDouble(JOptionPane.showInputDialog("NOTA DE ACS-1?"));
notas[nrElem][1]=Double.parseDouble(JOptionPane.showInputDialog("NOTA DE ACS-2?"));
notas[nrElem][2]=Double.parseDouble(JOptionPane.showInputDialog("NOTA DE ACS-3"));
notas[nrElem][3]=Double.parseDouble(JOptionPane.showInputDialog("NOTA DE ACP-1?"));
notas[nrElem][4]=Double.parseDouble(JOptionPane.showInputDialog("NOTA DE ACP-2?"));
nrElem++; //Actualiza o número de elementos para a posição da próxima inserção
JOptionPane.showMessageDialog(null, "REGISTO DO ESTUDANTE FEITO COM SUCESSO");
}else{ // Emite uma mensagem quando capacidade de arrays estiver esgotado
JOptionPane.showMessageDialog(null, "A TURMA NÃO PODE ADMITIR MAIS ESTUDANTES");
}
}
private static void impressao(){
if(nrElem > 0){ // Verifica se existe algum elemento inserido, caso sim faz calculos as medias, a sistuação e emita a pauta
System.out.println("--------------------------------------------------------------");
for(int i=0; i
System.out.println(nrEsts[i] +"\t" +nomes[i][0] +"\t" +nomes[i][1] +"\t" +notas[i][0] +"\t" +notas[i][1] +"\t" +notas[i][2] +"\t" +notas[i][3] +"\t" +notas[i][4] );
}
System.out.println("--------------------------------------------------------------");
}else{ // Não existindo elemtos inseridos, emite uma mensagem de falta de registos de trabalhadores
JOptionPane.showMessageDialog(null, "A TURMA SEM ESTUDANTE, PRIMEIRO DEVE REGISTAR ESTUDANTES");
}
...