Exercício 1 - Utilizando a linguagem Java implemente todas as classes dos diagramas abaixo, encapsulando obrigatoriamente todos os atributos. Observação: a) O método calcularSalario() da classe Empregado é abstrato. b) O método calcularSalario() da classe Chefe retorna o valor do salarioMensal c) O método calcularSalario() da classe Comissionado retorna o valor da seguinte expressão, salarioBase + comissao*quatidade. d) Faça uma sobrecarga dos métodos construtores. Exercício 2 - Crie um programa em Java para manipular um vetor de 5 objetos da classe Comissionado criada no Exercício 1 . Neste vetor serão armazenadas as instâncias desta classe, lidas a partir do teclado. O programa deverá cadastrar e ao final exibir os dados(nome, endereço, salarioBase, comissão e o saláriofinal(salarioBase+comissão*quantidade), que é calculado pelo método calcularSalario(), para cada um dos objetos no console de saída). Neste ...
Material muito prático para aprender a fazer Threads. Parabéns, Monteiro!
ResponderExcluirCódigo para simular uma conta conjunta compartilhada entre quatro pessoas:
ResponderExcluirpackage newpackage;
public class ContaConjunta {
private int saldo = 200;
public int getSaldo(){
return saldo;
}
public synchronized void sacar(int valor, String cliente){
if(saldo >= valor){
int saldoOriginal=saldo;
System.out.println(cliente+" vai sacar");
try {
System.out.println(cliente+" esperando");
Thread.sleep(1000);
} catch (InterruptedException ex){}
saldo -= valor;
String msg = cliente+" sacou "+valor+" [Saldo Original= "+saldoOriginal+", Saldo Final= " +saldo+"]";
System.out.println(msg);
}else{
System.out.println("Saldo insuficiente para "+cliente);
}
}
}
package newpackage;
public class Compras implements Runnable {
ContaConjunta conta = new ContaConjunta();
public static void main (String[] args){
Compras irAsCompras = new Compras();
new Thread(irAsCompras, "Mãe").start();
new Thread(irAsCompras, "Filho").start();
new Thread(irAsCompras, "Pai").start();
new Thread(irAsCompras, "Filha").start();
}
@Override
public void run() {
String cliente = Thread.currentThread().getName();
for(int i=0; i<10;i++){
conta.sacar(10,cliente);
if(conta.getSaldo()<0){
System.out.println("Estorou");
}
}
}
}
Muito boa aula, mais um aprendizado e como sempre a aula é nota 10!!!
ResponderExcluir