Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Meu computador esta retornando nullpointerexception nao sei pq. Alguem pode me ajudar?

public class Formatar {

    public void formatacao(Requisicao req, Conta conta){

        Resposta r1 = new RespostaEmXML();
        Resposta r2 = new RespostaEmCSV();
        Resposta r3 = new RespostaEmPORCENTAGEM();
        Resposta r4 = new SemResposta();

        r1.setProxima(r2);
        r2.setProxima(r3);
        r3.setProxima(r4);

        r1.responde(req,conta);
    }
}
public class RespostaEmCSV implements Resposta{
    Resposta proxima;

    public void responde(Requisicao req, Conta conta){
        if(req.getFormato() == Formato.CSV{
            System.out.println(conta.getTitular() + "," + conta.getSaldo());
        } else{
            proxima.responde(req, conta);
        }
    }

    @Override
    public void setProxima(Resposta resposta) {
        this.proxima = proxima;
    }
}
public class RespostaEmXML implements Resposta{
    Resposta proxima;

    public void responde(Requisicao req, Conta conta){
        if(req.getFormato() == Formato.XML){
            System.out.println( "<conta><titular>"+conta.getTitular()+"</titular><saldo>"+conta.getSaldo()+"</saldo></conta>");
        }else{
            proxima.responde(req, conta);
        }
    }

    @Override
    public void setProxima(Resposta resposta){
        this.proxima = proxima;
    }
}
public class SemResposta implements Resposta {
    Resposta proxima;

    public void responde(Requisicao req, Conta conta){
    }

    @Override
    public void setProxima(Resposta resposta){
    }
}
public class RespostaTest {
    public static void main(String args[]){
        Conta c = new Conta(2000.0,"Joao da Silva");
        Formatar f = new Formatar();

        f.formatacao(new Requisicao(Formato.CSV), c);
    }
}
1 resposta
solução!

Não precisa mais. Achei o erro. Erro idiota na verdade.