1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Ajuda em Java!!!

Discussão em 'Programação' iniciada por rui29, 13 de Maio de 2009. (Respostas: 16; Visualizações: 990)

  1. Boas . Estou a fazer uma trabalho pa faculdade em JAVA nãmas o estou a conseguir fazer uma dos pontos pedidos pelo enunciado . O enunciado é o seguinte:

    Construa uma aplicação de gestão de um Sistema de Mensagens de Texto. O
    objectivo da aplicação é permitir a troca de mensagens de texto entre os utilizadores
    registados no sistema. Cada utilizador deve possuir uma caixa de mensagens onde são
    guardadas as mensagens recebidas.

    A aplicação deve permitir, entre outras funcionalidades, as seguintes:
    • Registo de utilizadores. O utilizador indica o username pretendido, e se ainda
    não está atribuído, a aplicação gera aleatoriamente uma password de 4
    caracteres.
    • Autenticação de utilizadores através de username e password. As operações
    descritas a seguir só podem ser realizadas por utilizadores autenticados.
    • Listagem dos utilizadores do sistema.
    • Envio de uma mensagem de um utilizador para outro utilizador, para vários
    utilizadores ou para todos os utilizadores do sistema.
    • Listagem das mensagens recebidas.
    • Leitura das mensagens recebidas.
    • Remoção de mensagem ou mensagens recebidas.

    O meu problema está em listar as mensagens . Já tentei de tudo mas não tou a ver como. Deve faltar algum método apesar de ter criado um para tal função ou falha no main.

    aqui está o que fiz:
    Código:
    // Classe de Teste que vai ser chamada no main ()
    package cliente.ambiente;
    
    import ClassesTeste.*;
    import java.util.Scanner;
    
    public class texto extends Sistema {
    
        private static Scanner input;
        private Utilizador utilizadorSessao;
    
        public texto() {
            super();
            input = new Scanner(System.in);
        }
    
        public void menuInicial() {
            int op = 0;
    
            System.out.println("1 - Criar conta\n2 - Login\n3 - Remover Users\n0 - Sair.\n");
            System.out.print("Opcao: ");
    
            op = Integer.valueOf(input.nextLine().trim());
            switch (op) {
                case 1:
                    ecraCriarConta();
                    break;
                case 2:
                    loginUtilizador();
                    break;
                case 0:
                    System.out.println("\nPROGRAMA TERMINADO ...\n");
                    System.exit(0);
                    break;
                case 3:
                    destroyUser();
                    System.out.println("USER REMOVIDO");
                default:
                    System.out.println("INTRODUZA UMA OPÇÃO VÁLIDA.");
                    menuInicial();
                    break;
            }
    
    
        }
    
        private void destroyUser() {
    
            System.out.print("\nUSERNAME: ");
            String nome = input.nextLine().trim();
    
            destruirConta(nome);
        }
    
        private void ecraCriarConta() {
            System.out.print("\nUSERNAME: ");
            String nome = input.nextLine().trim();
    
            if (existeNomeUtilizador(nome) == null) {
                utilizadorSessao = criarConta(nome);
                System.out.println("\nCONTA CRIADA COM SUCESSO.\n" +
                        "USERNAME: " + utilizadorSessao.getNome() + "\n" +
                        "PASSWORD: " + utilizadorSessao.getPassword());
                menuInicial();
            } else {
                System.out.println(nome + "\nUSER EXISTENTE. INTRODUZA UM NOME DIFERENTE.\n");
                ecraCriarConta();
            }
        }
    
        private void loginUtilizador() {
            input = new Scanner(System.in);
    
            System.out.print("\nUSERNAME:");
            String nome = input.nextLine();
            System.out.print("PASSWORD: ");
            String password = input.nextLine();
    
            utilizadorSessao = validarCredenciais(nome, password);
    
            if (utilizadorSessao == null) {
                System.out.println("LOGIN INVÁLIDO.");
                utilizadorSessao = null;
                System.out.print("INTRODUZIU DADOS INORRECTOS. FAZER LOGIN NOVAMENTE(s/n)? ");
                if (input.nextLine().equalsIgnoreCase("n")) {
                    System.exit(0);
                } else {
                    loginUtilizador();
                }
            } else {
                System.out.println("LOGIN EFECTUADO COM SUCESSO.\n");
                sessaoAutenticada();
            }
        }
    
        private void sessaoAutenticada() {
            System.out.println("USER " + utilizadorSessao.getNome() + " ONLINE\n");
            System.out.println("\n1 - ALTERAR CONTA\n2 - CAIXA DE MENSAGENS\n3 - VER UTILIZADORES\n0 - LOGOUT");
            System.out.print("\nOPÇÃO: ");
            int opcao = Integer.parseInt(input.nextLine());
    
            switch (opcao) {
                case 1:
                    menuEditarConta();
                    break;
                case 2:
                    menuCaixaDeMensagens();
                    break;
                case 3:
                    listarUtilizadores();
                    break;
                case 0:
                    menuInicial();
                    break;
                default:
                    System.out.println("\nINTRODUZA UMA OPÇÃO VÁLIDA.\n");
                    sessaoAutenticada();
                    break;
            }
        }
    
        private void menuEditarConta() {
            System.out.println("\n1 - MUDAR NOME +\n2 - MUDAR PASSWORD\n3 - MENU ANTERIOR");
    
            int opcao = Integer.parseInt(input.nextLine());
            switch (opcao) {
                case 1:
                    editarNomeUtilizador();
                    sessaoAutenticada();
                    break;
                case 2:
                    editarPasswordUtilizador();
                    sessaoAutenticada();
                    break;
    
                case 3:
                    sessaoAutenticada();
                    break;
                default:
                    System.out.println("\nINTRODUZA UMA OPÇÃO VÁLIDA.\n");
                    menuEditarConta();
                    break;
            }
        }
    
        private void editarNomeUtilizador() {
            System.out.print("USERNAME: " + utilizadorSessao.getNome() + "\n");
            System.out.print("NOVO USERNAME: ");
            try {
                utilizadorSessao.setNome(input.nextLine().trim());
            } catch (Exception e) {
                editarNomeUtilizador();
            }
        }
    
        private void editarPasswordUtilizador() {
            System.out.print("PASSWORD: " + utilizadorSessao.getPassword() + "\n");
            try {
                System.out.println("NOVA PASSWORD: ");
                utilizadorSessao.setPassword(input.nextLine().trim());
                System.out.println("REPETIR PASSWORD ");
    
                if (utilizadorSessao.getPassword().equals(input.nextLine().trim()));
            } catch (Exception e) {
                editarPasswordUtilizador();
            }
        }
    
        private void menuCaixaDeMensagens() {
            System.out.print("\n1- ENVIAR\n2- Ver mensagens\n3- MENU ANTERIOR\n0- LOGOUT\nOPÇÃO: ");
            int opcao = Integer.parseInt(input.nextLine().trim());
            switch (opcao) {
                case 1:
                    comporMensagem();
                    break;
                case 2:
                    listarMensagens();
                    break;
                case 3:
                    sessaoAutenticada();
                    break;
                case 0:
                    menuInicial();
                default:
                    System.out.println("INTRODUZA UMA OPÇÃO VÁLIDA.");
                    menuCaixaDeMensagens();
                    break;
            }
        }
    
        private void comporMensagem() {
            Utilizador utilizador = null;
            do {
                System.out.print("DESTINATÁRIO: ");
                utilizador = existeNomeUtilizador(input.nextLine().trim());
    
                if (utilizador == null) {
                    System.out.println("USER NÃO ENCONTRADO!");
                }
            } while (utilizador == null);
    
            System.out.print("ASSUNTO: ");
            String subject = input.nextLine();
            System.out.print("MSG: \n  ");
            String body = input.nextLine();
    
            enviarMensagem(utilizador, utilizadorSessao, subject, body);
            menuCaixaDeMensagens();
        }
    
            public void listarMensagens() {
             String mensagens = utilizadorSessao.getCaixaDeMensagens();
             System.out.println(mensagens);
             sessaoAutenticada();
         }
    
        public void listarUtilizadores() {
            System.out.println(super.toString());
            sessaoAutenticada();
        }
    
        public void listarUtilizadoresMenuInicial() {
            System.out.println(super.toString());
            menuInicial();
        }
    }
    
    
    //classe Utilizador 
    public class Utilizador {
        
        private String nome;
        private String password;
        protected CaixaDeMensagens mensagens;
    
        public Utilizador(String nome) throws ValorInvalido {
            setNome(nome);
            setPassword();
            mensagens = new CaixaDeMensagens();
        }
    
        public void setNome(String nome) throws ValorInvalido {
            if (nome.length()==0)
                throw new ValorInvalido("nome");
            else
                this.nome = nome;
        }
    
        public void setPassword() {
            this.password = RandomStringUtils.randomAlphanumeric(4);
        }
    
        public void setPassword(String password) throws ValorInvalido {
            if (password.length()==0)
                throw new ValorInvalido("password");
            else
                this.password = password;
        }
    
         public String getNome() {
            return nome;
        }
    
        public String getPassword() {
            return password;
        }
    
        public String getCaixaDeMensagens() {
            return mensagens.toString();
        }
    
        public boolean equals(String nome, String password) {
            if (nome.equals(this.nome) && password.equals(this.password))
                return true;
    
            return false;
        }
        
    }
    
    
    // Classe Caixa de Mensagens 
    
    public class CaixaDeMensagens {
        
        public static Vector<Mensagem> mensagens;
    
    
        public CaixaDeMensagens() {
            mensagens = new Vector<Mensagem>();
        }
    
        public void adicionarMensagem(Utilizador from, String subject, String body) {
            mensagens.add(new Mensagem(from, subject, body));
        }
    
        public void removerMensagem(int i) {
            mensagens.remove(i);
        }
    
        @Override
        public String toString() {
            String mensagensAcumuladas = "";
            int indice=1;
    
            for (Mensagem mensagem : mensagens) {
                mensagensAcumuladas.concat(indice + ": " + mensagem.toStringHeader() + "\n");
                indice++;
            }
    
            return mensagensAcumuladas;
        }
    
        public String verMensagem(int i) {
            return mensagens.get(i).toStringHeader() + "\n" +
                    mensagens.get(i).toStringBody();
        }
    
    }
    
    
    // Sistema 
    public class Sistema {
    
        public Vector<Utilizador> utilizadores;
    
        public Sistema() {
            utilizadores = new Vector<Utilizador>();
    
            System.out.println(utilizadores.lastElement().getPassword());
        }
    
        public Utilizador criarConta(String nome) {
            try {
                utilizadores.add(new Utilizador(nome));
                return utilizadores.lastElement();
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }
    
        public void criarConta(Utilizador utilizador) {
            utilizadores.add(utilizador);
        }
    
        public void destruirConta(Utilizador utilizador) {
            utilizadores.remove(utilizador);
        }
    
        public Utilizador existeNomeUtilizador(String nome) {
            for (Utilizador utilizador : utilizadores) {
                if (utilizador.getNome().equals(nome)) {
                    return utilizador;
                }
            }
    
            return null;
        }
    
        public Utilizador validarCredenciais(String nome, String password) {
            for (Utilizador utilizador : utilizadores) {
                if (utilizador.equals(nome, password)) {
                    return utilizador;
                }
            }
    
            return null;
        }
    
        @Override
        public String toString() {
            String listagem_formatada = "-Lista dos Utilizadores-\n";
            int indice = 0;
    
            for (Utilizador utilizador : utilizadores) {
                listagem_formatada = listagem_formatada + indice + ": " + utilizador.getNome() + "\n";
                indice++;
            }
    
            System.out.println(listagem_formatada);
            return listagem_formatada;
        }
    
        public void enviarMensagem(Utilizador to, Utilizador from, String subject, String body) {
            for (Utilizador utilizador : utilizadores) {
                if (utilizador.equals(to)) {
                    utilizador.mensagens.adicionarMensagem(from, subject, body);
                }
            }
        }
    }
    
    Se puderem ajudar agradecia. Cumpz
     
    Última edição: 14 de Maio de 2009
  2. napalm

    napalm Power Member

    Código:
    public void listarMensagens() {
      System.out.println(utilizadorSessao.getCaixaDeMensagens());
      sessaoAutenticada();
    }
    
    Esse código é teu sequer?
    Outra coisa, formata o código com tags CODE senão ninguém vai querer olhar para esse molho de bróculos.
     
  3. Esqueci - me de meter as tags, sorry , 1º post :) . Quanto ao código a classe Sistema arranjei - a + - feita mas alterei - a para funcar com as outras classes. O resto fiz juntamente com um colega. Se puderem ajudar agrradecia.
     
  4. Pentrite

    Pentrite Banido

    Como alguém diria:
     
  5. Ah? Não percebi a serio. Atao esta secção não se denomina Programação? Eu tou aki pa tirar uma dúvida , mas se não é o sitio ideal tudo bem.
     
  6. Pentrite

    Pentrite Banido

    Estava apenas a citar a resposta que deram a alguém que pediu ajuda para um trabalho da escola, não quero dizer que concorde com ela, já que um fórum é um local de entreajuda e trabalhos da escola são um motivo tão válido para pedir ajuda como a escolha de uma marca de sapatos.
     
  7. tipo isto não seria assim?

    for (Mensagem mensagem : mensagens) {
    mensagensAcumuladas= mensagensAcumuladas.concat(indice + ": " + mensagem.toStringHeader() + "\n");
    indice++;
    }


    Cumps
     
  8. PENTRITE Não concordas porque? Caso eu saiba num trabalho de faculdade é nos permitido procurar informação na net assim como pedir ajudas para trabalhos. Ninguém o tá a fazer por mim por isso não vejo qual é o mal , mas cada um tem a sua opinião e há que respeitar
     
  9. napalm

    napalm Power Member

    o problema... está resolvido?
     
  10. Boas . Nop :( . Inda estou para aqui às voltas disto. O problema deve em chamar os métodos . Já tentei de muitas maneiras. Quando o chamo no método main , ele sai do programa em vez de mostrar as mensagens. Cumpz
     
  11. sounabo

    sounabo Power Member

    Exacto!

    Chamar o concat de uma String sem guardar a referência para a String concatenada é apenas dar trabalho ao Garbage Collector, porque uma String é um Objecto imutável.
     
  12. Já tentei assim. Quando corro o programa ele escreve a mensagem mas quando peço para lista - las o programa encerra e não mostra nada. Deve tar a invocar mal o método mas n tou a ver aonde.
     
  13. sounabo

    sounabo Power Member

    Parece-me que o problema era só o que o hugofct20257, no que diz respeito a não imprimir as mensagens:

    Código:
    import java.io.*;
    import java.util.*;
    
    // Classe de Teste que vai ser chamada no main ()
    public class texto extends Sistema {
    
    
    	public static void main(String [] args) {
    		texto t = new texto();
    		while(true) t.menuInicial();
    	}
    
        private static Scanner input;
        private Utilizador utilizadorSessao;
    
        public texto() {
            super();
            input = new Scanner(System.in);
        }
    
        public void menuInicial() {
            int opcao = 0;
    
            System.out.println("    SISTEMA DE MENSAGENS DE TEXTO\n");
            System.out.println("1 - Criar conta\n2 - Login\n3 - Sair.\n");
            System.out.print("Opcao: ");
    
            try {
                opcao = Integer.valueOf(input.nextLine().trim());
            } catch (Exception e) {
                System.err.println("Erro: " + e);
            }
    
            switch (opcao) {
                case 1:
                    ecraCriarConta();
                    break;
                case 2:
                    loginUtilizador();
                    break;
                case 3:
                    System.out.println("Programa terminado");
                    System.exit(0);
                    break;
                default:
                    System.out.println("Intoduza uma opção válida.");
                    menuInicial();
                    break;
            }
        }
    
        private void ecraCriarConta() {
            System.out.print("Introduza o username: ");
            String nome = input.nextLine().trim();
    
            if (existeNomeUtilizador(nome) == null) {
                utilizadorSessao = criarConta(nome);
                System.out.println("Conta criada com sucesso.\n" +
                        "Username: " + utilizadorSessao.getNome() + "\n" +
                        "Password: " + utilizadorSessao.getPassword());
                menuInicial();
            } else {
                System.out.println(nome + " User já existente. Introduza um nome diferente.");
                ecraCriarConta();
            }
        }
    
        private void loginUtilizador() {
            input = new Scanner(System.in);
    
            System.out.print("Username: ");
            String nome = input.nextLine();
            System.out.print("Password: ");
            String password = input.nextLine();
    
            utilizadorSessao = validarCredenciais(nome, password);
    
            if (utilizadorSessao == null) {
                System.out.println("Dados inválidos.");
                utilizadorSessao = null;
                System.out.print("Introduzir dados novamente (s/n)? ");
                if (input.nextLine().equalsIgnoreCase("n")) {
                    menuInicial();
                } else {
                    loginUtilizador();
                }
            } else {
                System.out.println("Login efectuado com sucesso.\n");
                sessaoAutenticada();
            }
        }
    
        private void sessaoAutenticada() {
            System.out.println("User online : " + utilizadorSessao.getNome() + "\n");
            System.out.println("1 - ALterar conta\n2 - Caixa de mensagens\n3 - Listar Users \n4 - Menu anterior\n0 - Logout");
            System.out.print("Opção: ");
            int opcao = Integer.parseInt(input.nextLine());
    
            switch (opcao) {
                case 1:
                    menuEditarConta();
                    break;
                case 2:
                    menuCaixaDeMensagens();
                    break;
                case 3:
                    listarUtilizadores();
                    break;
                case 4:
                    menuInicial();
    
                    break;
                case 0:
                    System.exit(0);
    
                    break;
                default:
                    System.out.println("Intoduza uma opção válida.");
                    sessaoAutenticada();
                    break;
            }
        }
    
        private void menuEditarConta() {
            System.out.println("\n" +
                    "1 - Alterar nome\n2 - Alterar password\n3 - Menu anterior");
    
            int opcao = Integer.parseInt(input.nextLine());
            switch (opcao) {
                case 1:
                    editarNomeUtilizador();
                    menuEditarConta();
                    break;
                case 2:
                    editarPasswordUtilizador();
                    menuEditarConta();
                    break;
                case 3:
                    sessaoAutenticada();
                    break;
    
                default:
                    System.out.println("Intoduza uma opção válida.");
                    menuEditarConta();
                    break;
            }
        }
    
        private void editarNomeUtilizador() {
            System.out.print("Username: " + utilizadorSessao.getNome() + "\n");
            System.out.print("Introduza o novo username: ");
            try {
                utilizadorSessao.setNome(input.nextLine().trim());
            } catch (Exception e) {
                editarNomeUtilizador();
            }
        }
    
        private void editarPasswordUtilizador() {
            System.out.print("Password: " + utilizadorSessao.getPassword() + "\n");
            try {
                System.out.println("Introduza a nova password : ");
                utilizadorSessao.setPassword(input.nextLine().trim());
                System.out.println("Introduza novamente : ");
    
                if (utilizadorSessao.getPassword().equals(input.nextLine().trim()));
            } catch (Exception e) {
                editarPasswordUtilizador();
            }
        }
    
        private void menuCaixaDeMensagens() {
            System.out.println("1- Enviar mensagem\n2- Ver mensagens\nOpção: ");
            int opcao = Integer.parseInt(input.nextLine().trim());
            switch (opcao) {
                case 1:
                    comporMensagem();
                    break;
                case 2:
                    listarMensagens();
                    break;
                case 3:
                    sessaoAutenticada();
    
                    break;
                default:
                    System.out.println("Intoduza uma opção válida.");
                    menuCaixaDeMensagens();
                    break;
            }
        }
    
        private void comporMensagem() {
            Utilizador utilizador = null;
            do {
                System.out.print("Destinatário: ");
                utilizador = existeNomeUtilizador(input.nextLine().trim());
    
                if (utilizador == null) {
                    System.out.println("Erro,user não existente");
                }
            } while (utilizador == null);
    
            System.out.print("Assunto: ");
            String subject = input.nextLine();
            System.out.print("Mensagem: \n  ");
            String body = input.nextLine();
    
            enviarMensagem(utilizador, utilizadorSessao, subject, body);
            
            menuCaixaDeMensagens();
        }
    
        private void verMensagens() {
    
            System.out.println();
        }
    
        public void listarUtilizadores() {
            System.out.println(super.toString());
            sessaoAutenticada();
        }
    
        public void listarMensagens() {
            System.out.println(utilizadorSessao.getCaixaDeMensagens());
            sessaoAutenticada();
    
        }
    }
    
    
    class ValorInvalido extends Exception {
    	
    	ValorInvalido () {}
    	
    	ValorInvalido (String s ) { super(s); }
    }
    
    //classe Utilizador 
    class Utilizador {
        
        private String nome;
        private String password;
        protected CaixaDeMensagens mensagens;
    
        public Utilizador(String nome) throws ValorInvalido {
            setNome(nome);
            setPassword();
            mensagens = new CaixaDeMensagens();
        }
    
        public void setNome(String nome) throws ValorInvalido {
            if (nome.length()==0)
                throw new ValorInvalido("nome");
            else
                this.nome = nome;
        }
    
        public void setPassword() {
            this.password = "1";//RandomStringUtils.randomAlphanumeric(4);
        }
    
        public void setPassword(String password) throws ValorInvalido {
            if (password.length()==0)
                throw new ValorInvalido("password");
            else
                this.password = password;
        }
    
         public String getNome() {
            return nome;
        }
    
        public String getPassword() {
            return password;
        }
    
        public String getCaixaDeMensagens() {
            return mensagens.toString();
        }
    
        public boolean equals(String nome, String password) {
            if (nome.equals(this.nome) && password.equals(this.password))
                return true;
    
            return false;
        }
        
    }
    
    
    class Mensagem {
    	
    	String subject, body;
    	Utilizador from;
    	
    	Mensagem() {}
    	
    	Mensagem(Utilizador f, String s, String b) {
    		from = f;
    		subject = s;
    		body = b;
    	}
    	
    	
    	String toStringBody() { return body; }
    	String toStringHeader() { return subject; }
    }
    
    // Classe Caixa de Mensagens 
    
    class CaixaDeMensagens {
        
        public static Vector<Mensagem> mensagens;
    
    
        public CaixaDeMensagens() {
            mensagens = new Vector<Mensagem>();
        }
    
        public void adicionarMensagem(Utilizador from, String subject, String body) {
            mensagens.add(new Mensagem(from, subject, body));
        }
    
        public void removerMensagem(int i) {
            mensagens.remove(i);
        }
    
        @Override
        public String toString() {
            String mensagensAcumuladas = "";
            int indice=1;
    
            for (Mensagem mensagem : mensagens) {
                mensagensAcumuladas=mensagensAcumuladas.concat(indice + ": " + mensagem.toStringHeader() + "\n");
                indice++;
            }
    
            return "mensagens.size()=" +mensagens.size() + " | " + mensagensAcumuladas;
        }
    
        public String verMensagem(int i) {
            return mensagens.get(i).toStringHeader() + "\n" +
                    mensagens.get(i).toStringBody();
        }
    
    }
    
    
    // Sistema 
    class Sistema {
    
        public Vector<Utilizador> utilizadores;
    
        public Sistema() {
            utilizadores = new Vector<Utilizador>();
    
    //        System.out.println(utilizadores.lastElement().getPassword());
        }
    
        public Utilizador criarConta(String nome) {
            try {
                utilizadores.add(new Utilizador(nome));
                return utilizadores.lastElement();
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }
    
        public void criarConta(Utilizador utilizador) {
            utilizadores.add(utilizador);
        }
    
        public void destruirConta(Utilizador utilizador) {
            utilizadores.remove(utilizador);
        }
    
        public Utilizador existeNomeUtilizador(String nome) {
            for (Utilizador utilizador : utilizadores) {
                if (utilizador.getNome().equals(nome)) {
                    return utilizador;
                }
            }
    
            return null;
        }
    
        public Utilizador validarCredenciais(String nome, String password) {
            for (Utilizador utilizador : utilizadores) {
                if (utilizador.equals(nome, password)) {
                    return utilizador;
                }
            }
    
            return null;
        }
    
        @Override
        public String toString() {
            String listagem_formatada = "-Lista dos Utilizadores-\n";
            int indice = 0;
    
            for (Utilizador utilizador : utilizadores) {
                listagem_formatada = listagem_formatada + indice + ": " + utilizador.getNome() + "\n";
                indice++;
            }
    
            System.out.println(listagem_formatada);
            return listagem_formatada;
        }
    
        public void enviarMensagem(Utilizador to, Utilizador from, String subject, String body) {
            for (Utilizador utilizador : utilizadores) {
                if (utilizador.equals(to)) {
                    utilizador.mensagens.adicionarMensagem(from, subject, body);
                }
            }
        }
    }
    
    Já agora, para a próxima convém meter algo ou que compile, ou legível (com poucas linhas de código).
     
  14. Boas . Obrigado pelas dicas mas nao consigo por isto a dar.

    na classe de Teste fiz esta alteração :

    Código:
        public void listarMensagens() {
             String mensagens = utilizadorSessao.getCaixaDeMensagens();
             System.out.println(mensagens);
             sessaoAutenticada();
         }
    
    e na classe CaixaMensagens isto:
    Código:
     public String toString() {
            String mensagensAcumuladas = "";
            int indice=1;
            
            for (Mensagem mensagem : mensagens) {
                mensagensAcumuladas=mensagensAcumuladas.concat(indice + ": " + mensagem.toStringHeader() + "\n" + mensagem.toStringBody()+"\n");
                indice++;
            }
    
            return mensagensAcumuladas;
        }
    
    De acordo com as vossas opiniões. Cumprimentos
     
  15. sounabo

    sounabo Power Member

    onde está definida a classe Mensagem?

    se copiares o código q postei anteriormente e o colocares num ficheiro de nome texto.java, o mesmo compila e parece-me que o resultado é o pretendido...
     
  16. napalm

    napalm Power Member

    Pa rui, o pessoal até ajuda mas se não fazes debug nem dás informação sobre o que se passa não te podemos ajudar.
    Aliás começo a ter dúvidas que saibas sequer compilar código como deve ser...
     
  17. Boas . problema resolvido . Obrigado de qualquer maneira. Cumpz
     

Partilhar esta Página