| Autor |
Mensagem |
|
|
|
Posta o erro que deu se não fica impossível. Mas uma coisa vc não fez, ver se a lista tinha algum elemento antes de tentar acessá-lo. Tem que fazer isso usando o método size da lista.
|
 |
|
|
troque os ifs por
Espero ter ajudado.
|
 |
|
|
|
Coloca o código, se não fica difícil...
|
 |
|
|
Valder, vc tem que fazer a mesma coisa para as outras classes. O método main vc pode criar em qq classe, inclusive em outra que nao tem nada a ver com suas classes.
Com relação à herança, a idéia é que se uma superclasse é usada para fazer alguma coisa, qq subclasse também é capaz. Pelo menos na noção de Agência e Guia da vida real, isso não faz muito sentido pra mim, mas se fizer pra vc é o que conta. Só dei a dica porque vc pode estar usando de maneira errada.
Fazendo a coisa do jeito que vc quer, temos:
Aí basta vc fazer uma outra classe contendo o método main e instanciar esse método qdo kiser. Perceba que o construtor ficou imenso, e toda vez que vc for criar um movimento vai ter que colocar todos os dados. Se vc colocar em agencia uma lista de guias, vc nao precisaria fazer isso, bastaria chamar um método getGuias obtendo essa lista, pq vc já saberia o código e agencia. Mesma coisa na hora de adicionar.
Mas a arquitetura é sua, vc que decide...
Outra coisa, não é prática comum deixar os atributos publicos, ainda mais que seu trabalho é acadêmico. Com certeza o prof. vai dizer que vc estará violando o encapsulamento...
Espero ter ajudado
|
 |
|
|
Foi mal, agora que vi o que vc quer direito, se um elemento da matriz for igaul já não serve. Você poderia fazer o seguinte:
aí basta você usar este método para todas matrizes do vetor, se para algum voltar verdadeiro, será pq você terá um estado com elemento igual.
|
 |
|
|
|
Então usa o método contains da arrayList antes de adicionar. Ele retorna true se houver já houver um objeto igual na lista e falso caso contrário...
|
 |
|
|
Valder,
Você nãe é obrigado a setar os valores de todas superclasses, isso depende da sua lógica. No seu caso, se você usar a guia tinha que ter os atributos agencia e código da agência, ambos atributos da superclasse, então sua lógica exige que vc sete os valores dos atributos. Com relação a Herança, você tem que pensar se faz sentido dizer que um objeto da subclasse é um objeto da superclasse.
Ex mais concreto, vamos dizer que vc tivesse a classe banco com um método adicionar agencia, no qual você adiciona agencias para um banco, dessa fora:
Banco banco=new Banco();
banco.adicionarAngencia(new Agencia());
Nesse caso, não faria muito sentido vc usar um Guia no lugar de Agencia, pois Guia não é uma Agência.
Espero ter conseguindo clarificar o conceito.
|
 |
|
|
Duas alternativas:
1) percorre o array e ve se tem uma string igual
2) usa uma implementação de List (como ArrayList) para construir uma lista de Strings e depois usa o método contains dessa classe.
Espero ter ajudado
|
 |
|
|
Talvez ficasse mais vantajoso fazer assim:
Dessa forma, para criar uma guia, vc nao precisaria ficar passando toda hora o nome e codigo da agencia.
Voce poderia fazer algo parecido para a classe movimento.
Espero ter ajudado.
|
 |
|
|
|
Outra coisa, A classe Guia é uma agência? Se não for, vc não está usando corretmente o conceito de herança. Talvez você devesse usar agragação ou composição em vez de herança. Pelo nome de suas classes, o correto seria a Agência conter guias. Mas a aplicação é sua, então você pode fazer como quiser...hehe
|
 |
|
|
1) A Classe Movimento não setou os atributos da superclasse
2) Não é uma boa acessar os atributos diretamente.
Você deve gerar o construtor de Movimento com todos os atributos de suas superclasses, chamando, na primeira linha do construtor, o comando super(Args), onde os argumentos são os necessário para o construtora da classe pai. Deve fazer tb processo análogo para a classe Gui.
|
 |
|
|
|
Tipo, o tipo Set não deixa vc colocar objetos repetidos nele. Assim, se você tentar inserir um objeto que retorne true para o método equals de algum dos objetos do conjunto, ele não o adiciona. Assim como List, você já tem umas classes que a implementam, como a HashSet.
|
 |
|
|
|
Veja a API da classe SET, acho que ela já faz o que vc precisa.
|
 |
|
|
|
Ah, se seu dados forem baseados num bean e vc só está querendo mostrá-los na tabela, tanta usar o SwingBean (http://swingbean.sourceforge.net/). Se não conseguir usar, depois eu coloco um exemplo aqui usando o swingbean, pq tenho exemplo só em casa.
|
 |
|
|
Coloca o código aí.
Algumas coisas:
Se você está usando a tabela como atributo, não precisa passá-la como parametro.
Você nao precisa setar o model toda hora. Quando for inserir uma linha, basta inseri-lá direto na tabela, se não me engano tem uns métodos da JTable que faz isso.
|
 |
|
|