Ir ao conteúdo
  • Cadastre-se

Java Iniciante em Java - Exercício


Visitante

Posts recomendados

 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?

Link para o comentário
Compartilhar em outros sites

  • 4 semanas depois...

Olá o que está ocorrendo é porquê o toString não foi implementado. Você pode implementá-lo para que seja impresso o que você quiser o objeto em questão e formatar da maneira mais adequada.  Você pode fazer algo do tipo:

public String toString() {
return this.atributo;
}

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...