Abaixo minhas resoluções, no qual encontrei alguns problemas no exercício 6 no momento de instanciar, portanto fiz algumas alterações e abaixo tem a minha resolução com as classes e a execução no MainExercicio.
1 - ConversaoFinanceira
package Exercicios.Aula4.Exercicio1;
public interface ConversaoFinanceira {
double converterDolarParaReal();
}
1 - ConversorMoeda
package Exercicios.Aula4.Exercicio1;
public class ConversorMoeda implements ConversaoFinanceira {
private double dolar;
private double cotacao;
public ConversorMoeda(double dolar) {
this.dolar = dolar;
this.cotacao = 6.0;
}
@Override
public double converterDolarParaReal() {
return dolar * cotacao;
}
}
2 - CalculoGeometrico
package Exercicios.Aula4.Exercicio2;
public interface CalculoGeometrico {
double calcularArea();
double calcularPerimetro();
}
2 - CalculadoraSalaRetangular
package Exercicios.Aula4.Exercicio2;
public class ClaculadoraSalaRetangular implements CalculoGeometrico {
private double largura;
private double comprimento;
public ClaculadoraSalaRetangular(double largura, double comprimento) {
this.largura = largura;
this.comprimento = comprimento;
}
@Override
public double calcularArea() {
return largura * comprimento;
}
@Override
public double calcularPerimetro() {
return 2 * (largura + comprimento);
}
}
3 - Tabuada
package Exercicios.Aula4.Exercicio3;
public interface Tabuada {
void mostrarTabuada(int numero);
}
3 - TabuadaMultiplicacao
package Exercicios.Aula4.Exercicio3;
public class TabuladaMultiplicacao implements Tabuada {
private int numero;
@Override
public void mostrarTabuada(int numero) {
System.out.println("Tabuada de multiplicação do número " + numero + ":");
for (int i = 1; i <= 10; i++) {
System.out.println(numero + " x " + i + " = " + (numero * i));
}
}
}
4 - ConversorTemperatura
package Exercicios.Aula4.Exercicio4;
public interface ConversorTemperatura {
double celsiusParaFahrenheit(double celsius);
double fahrenheitParaCelsius(double fahrenheit);
}
4 - ConversorTemperaturaPadrao
package Exercicios.Aula4.Exercicio4;
public class ConversorTemperaturaPadrao implements ConversorTemperatura {
@Override
public double celsiusParaFahrenheit(double celsius) {
return (celsius * 9/5) + 32;
}
@Override
public double fahrenheitParaCelsius(double fahrenheit) {
return (fahrenheit - 32) * 5/9;
}
}
5 - Calculavel (Não entendi ao certo este exercício, portanto fui de acordo com a dica)
package Exercicios.Aula4.Exercicio5;
public interface Calculavel {
double calcularPrecoFinal();
}
5 - Item (Classe extra para instanciar o objeto)
package Exercicios.Aula4.Exercicio5;
public class Item {
private double preco;
public double getPreco() {
return preco;
}
public void setPreco(double preco) {
this.preco = preco;
}
}
5 - Livro
package Exercicios.Aula4.Exercicio5;
public class Livro extends Item implements Calculavel {
public double calcularPrecoFinal() {
return getPreco() * 0.95;
}
}
5 - ProdutoFisico
package Exercicios.Aula4.Exercicio5;
public class ProdutoFisico extends Item implements Calculavel {
public double calcularPrecoFinal() {
return getPreco() * 1.05;
}
}
6 - Vendavel (Aqui minha adição da quantidade no método do desconto, pois da forma que estava, ele não funcionaria direito com mais de um item)
package Exercicios.Aula4.Exercicio6;
public interface Vendavel {
double calcularPrecoTotal(int quantidade);
double aplicarDesconto(double percentual, int quantidade);
}