Exercicio Iniciante em Java - Mudando status de tarefas, como um quadro de projetos ágeis em Java

22/02/2020

0

Boa noite pessoa!

Poderiam me ajudar com um exercício?

Sou iniciante em Java e estou tentando fazer basicamente um quadro de projetos ágeis, ou seja, tenho duas tarefas e elas precisam passar pelas seguintes fases: BACKLOG - TODO - DOING - DONE.

A saída deverá ser algo assim:



BACKLOG
    Tarefa 1
    Tarefa 2
    
    TODO
    
    DOING
    
    DONE
    
    
    BACKLOG
    Tarefa 2
    
    TODO
    Tarefa 1
    
    DOING
    
    DONE
    
    
    BACKLOG
    Tarefa 2
    
    TODO
    
    DOING
    Tarefa 1
    
    DONE
    
    
    BACKLOG
    Tarefa 2
    
    TODO
    
    DOING
    
    DONE
    Tarefa 1
E o mesmo acontecer com a Tarefa 2

Implementei as seguintes classes:

Classe Quadro:



 class Quadro {
        static int BACKLOG = 0;
        static int TODO = 1;
        static int DOING = 2;
        static int DONE = 3;
        String labelFases[] = {"BACKLOG", "TODO", "DOING", "DONE"};
        Fase fase[] = new Fase[4];
    
        public Quadro() {
            for (int i=0; i<4; i++)
                fase[i] = new Fase();
        }
        public void adiciona (Cartao c) {
            fase[BACKLOG].adiciona(c);
        }
        public void prepara (Cartao c) {
            fase[BACKLOG].remove(c);
            fase[TODO].adiciona(c);
        }
        public void inicia (Cartao c) {
            fase[TODO].remove(c);
            fase[DOING].adiciona(c);
        }
        public void encerra (Cartao c) {
            fase[DOING].remove(c);
            fase[DONE].adiciona(c);
        }
        public String toString() {
            String saida = "";
            for (int i=0; i<4; i++)
                saida += labelFases[i] + "\n" + fase[i].toString() + "\n";
            return saida;
        }
    }

Classe Fase:

    class Fase{
    Cartao cartao[] = new Cartao[99];
    
        void adiciona(Cartao c){
            cartao[Quadro.BACKLOG] = c;
        }
    
        void prepara(Cartao c){
            cartao[Quadro.TODO] = c;
        }
        void inicia(Cartao c){
            cartao[Quadro.DOING] = c;
    
        }
        void encerra(Cartao c){
            cartao[Quadro.DONE] = c;
        }
        void remove(Cartao c){
            cartao[-1] = c;
        }
    }

Classe Cartao:

    class Cartao{
        String nome;
        public Cartao(String nome){
            this.nome = nome;
        }
    }

Classe QuadroGeral:

    public class QuadroGeral {
        public static void main(String[] args) {
            Quadro quadroGeral = new Quadro();
            Cartao tarefa1 = new Cartao("Tarefa 1");
            quadroGeral.adiciona(tarefa1);
            Cartao tarefa2 = new Cartao("Tarefa 2");
            quadroGeral.adiciona(tarefa2);
            System.out.println(quadroGeral);
            quadroGeral.prepara(tarefa1);
            System.out.println(quadroGeral);
            quadroGeral.inicia(tarefa1);
            System.out.println(quadroGeral);
            quadroGeral.encerra(tarefa1);
            System.out.println(quadroGeral);
        }
    }

Estou tendo a seguinte saída:
    BACKLOG
    Fase@60e53b93
    TODO
    Fase@5e2de80c
    DOING
    Fase@1d44bcfa
    DONE
    Fase@266474c2
    
    BACKLOG
    Fase@60e53b93
    TODO
    Fase@5e2de80c
    DOING
    Fase@1d44bcfa
    DONE
    Fase@266474c2
    
    BACKLOG
    Fase@60e53b93
    TODO
    Fase@5e2de80c
    DOING
    Fase@1d44bcfa
    DONE
    Fase@266474c2
    
    BACKLOG
    Fase@60e53b93
    TODO
    Fase@5e2de80c
    DOING
    Fase@1d44bcfa
    DONE
    Fase@266474c2
 




Poderiam me ajudar?
Mssantana

Mssantana

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar