Problemas com a resolução de exercício: calculadora de impostos

Olá! Estou começando a programar agora e estou tentando fazer o seguinte exercício:

  1. Escreva uma classe Rendimentos que contenha os seguintes métodos a fim de contabilizar o total de rendimentos de uma certa pessoa em um certo ano:

- rendimentosDePessoaFísica(double);
- rendimentosDePessoaJurídica(double);
- rendimentosDeAplicaçõesFinanceiras(double);
- rendimentosNãoTributáveis(double);
- double totalDeRendimentosTributáveis();

Em seguida, escreva uma classe TabelaDeAlíquotas que possui:
um método alíquota() que recebe como parâmetro o total de rendimentos tributáveis de uma pessoa e devolve um número entre 0 e 1.0 correspondente à alíquota de imposto que a pessoa deverá pagar e um método valorADeduzir() que recebe como parâmetro o total de rendimentos tributáveis de uma pessoa e devolve o valor a deduzir no cálculo do imposto.
Para escrever esta classe, utilize a tabela do IR 2006 abaixo:

Rendimentos Tributáveis:

  • Até R$ 13.968,00 -> aliqutoa 0 e parcela a deduzir 0;
  • De R$ 13.968,01 a R$ 27.912,00 -> aliquota 0.15 e parcela a deduzir = R$ 1.904,40;
  • Acima de R$ 27.912,00 -> aliquota= 0.275 e parcela a deduzir = R$ 5.076,90

Agora escreva uma classe CalculadoraDeImposto que possui um único método que recebe como parâmetro o valor dos rendimentos tributáveis de uma pessoa e devolve o valor do imposto a ser pago.
Finalmente, escreva um trecho de código (para ser digitado no interpretador) que utiliza Rendimentos para definir os vários rendimentos de uma pessoa e CalculadoraDeImposto para calcular o imposto a pagar.

Só para constar, eu uso o Eclipse.

A minha primeira classe ficou assim: (não sei se está certo)

public class Rendimentos
{
double rendimentosDePessoaFisica;
double rendimentosDePessoaJuridica;
double rendimentosDeAplicaçoesFinanceiras;
double rendimentosNaoTributaveis;

void rendimentosDePessoaFisica(double rpf)
{
    rendimentosDePessoaFisica= rpf;
}

void rendimentosDePessoaJuridica(double rpj)
{
    rendimentosDePessoaJuridica= rpj;
}

void rendimentosDeAplicaçoesFinanceiras(double rap)
{
    rendimentosDeAplicaçoesFinanceiras= rap;
}

void rendimentosNaoTributaveis(double rnt)
{
    rendimentosNaoTributaveis= rnt;
}

public double totalDeRendimentosTributaveis()
{
    return rendimentosDePessoaFisica + rendimentosDePessoaJuridica + rendimentosDeAplicaçoesFinanceiras;
}

public static void main(String[] args)
{
     Rendimentos r= new Rendimentos();
     r.totalDeRendimentosTributaveis();
}

}

Está certo? Se sim, ótimo! Não consigo fazer a segunda! Alguém pode me ajudar?
Obrigada!!

Provavelmente está certo, só da para saber se está tudo certo testando.

Classe Aliquota {
    double aliquota(double rendimentosTributaveis) {
        Se (rendimentosTributaveis <= R$ 13.968,00) retorna 0,0;
        se não Se (rendimentosTributaveis <= R$ 27.912,00) retorna 0,15;
        se não retorna 0,275;
    }
    double valorADeduzir(double rendimentosTributaveis);
}

o metodo valorADeduzir() é igual ao aliquota, só muda o valor retornado.