Galera é o seguinte preciso mostrar o conteudo que está dentro de um array ja tentei aqui mas não conseguir. olha se algo errado no meu programa.
Abaixo meu programa principal.
Depois tem a classe com Array list ta errado ???
publicclassPrincipalApp{publicstaticvoidmain(String[]args){System.out.println("");System.out.println(" COMPUTADOR DE BORDO ");System.out.println("");System.out.println("");intopcao=0;do{System.out.println(" \n");System.out.println("ESCOLHA OPCAO DESEJADA>");System.out.println("");System.out.println("");System.out.println("1 - CADASTRAR COMPUTADOR DE BORDO FIAT");System.out.println("");System.out.println("2 - CADASTRAR COMPUTADOR DE BORDO FORD");System.out.println("");System.out.println("3 - LISTAR CADASTRO DE COMPUTADORES DE BORDO");System.out.println("");System.out.println("\n0 - SAIR \n");opcao=Keyboard.readInt();switch(opcao){case1:{System.out.println("");System.out.println("-----------------------------");System.out.println("Computador de Bordo Fiat");System.out.println("-----------------------------");System.out.println("");System.out.print("Digite o Codigo..: ");Stringcodigo=Keyboard.readString();System.out.print("Digite o Km Rodado.: ");StringkmRodado=Keyboard.readString();System.out.print("Digite Quantidade de Litros: ");StringqteLitros=Keyboard.readString();System.out.print("Digite Consumo Medio: ");StringconsumoMedio=Keyboard.readString();ComputadoresBordocomputadoresbordo=newComputadoresBordo();ComputadorBordoFiatbordofiat=newComputadorBordoFiat(codigo,kmRodado,qteLitros,consumoMedio);computadoresbordo.insere(bordofiat);break;}case2:while(true){System.out.println("");System.out.println("-----------------------------");System.out.println("Computador de Bordo Ford");System.out.println("-----------------------------");System.out.println("");System.out.print("Digite o Codigo..: ");Stringcodigo=Keyboard.readString();System.out.print("Digite o Km Rodado.: ");StringkmRodado=Keyboard.readString();System.out.print("Digite Quantidade de Litros: ");StringqteLitros=Keyboard.readString();System.out.print("Digite Consumo Instantaneo: ");StringconsumoInstantaneo=Keyboard.readString();ComputadoresBordocomputadoresbordo=newComputadoresBordo();ComputadorBordoFordbordoford=newComputadorBordoFord(codigo,kmRodado,qteLitros,consumoInstantaneo);computadoresbordo.insere(bordoford);break;}break;case3:while(true){System.out.println("Listagem dos Computadores de Bordo");System.out.println(computadoresbordo.toString());break;}break;case0:break;default:{/* * Mostra mensagem de erro */System.out.println("Opcao invalida");}}}while(opcao!=0);System.out.println("--------------------------------------------");System.exit(0);}}
CODIGO COM ARRAY LIST
importjava.util.ArrayList;publicclassComputadoresBordo{/* Declarando um objeto : vector de Equipamento */privateArrayListcomputadoresbordo;publicComputadoresBordo(){this.computadoresbordo=newArrayList();}publicvoidinsere(ComputadorBordocomputadorbordo){this.computadoresbordo.add(computadorbordo);}publicStringtoString(){StringBuffersb=newStringBuffer("ComputadoresBordo : ");for(inti=0;i<this.computadoresbordo.size();i++){ComputadorBordocomputadorBordo=(ComputadorBordo)this.computadoresbordo.get(i);sb.append(ComputadorBordo.toString());}returnsb.toString();}}
tah meio complicado entender o codigo com esses nomes parecidos…
tem q separar melhor =)
e oq vc ker listar exatamente?
esta usando uma classe chamada ComputadoresBordo… mas qual metodo dela vai utilizar? oq faz o .toString dela?
eu entendo isso como um “loop” infinito…
jah q o objeto ComputadoresBordo esta chamando um metodo interno toString… que fica chamando ele mesmo eternamente…
nao deu falta de memoria não ?
para lista o arrayList…
for(inti=0; i < this.computadoresbordo.size(); i++ ) { ComputadorBordocomputadorBordo=(ComputadorBordo)this.computadoresbordo.get(i); sb.append(ComputadorBordo.toString()); }
dah pra usar ele mesmo… desde q ele nao fique dentro da propria classe q vc esta chamando…
tah uma bagunça xD
sergiotaborda
gnr_ssa:
CODIGO COM ARRAY LIST
importjava.util.ArrayList;publicclassComputadoresBordo{/* Declarando um objeto : vector de Equipamento */privateArrayListcomputadoresbordo;publicStringtoString(){StringBuffersb=newStringBuffer("ComputadoresBordo : ");for(inti=0;i<this.computadoresbordo.size();i++){ComputadorBordocomputadorBordo=(ComputadorBordo)this.computadoresbordo.get(i);sb.append(computadorBordo.toString());//<-- c minusculo !!!}returnsb.toString();}}
Veja o detalhes acima, tlv seja isso.
Você sobre-escreveu toString em ComputadoresBordo mas sobre-escreveu também em ComputadorBordo ?
G
gnr_ssa
Tipo ComputadorBordo e uma classe - ComputadoresBordo e o Array
quando vc pois sb.append(ComputadorBordo.toString())…
vc esta usando o metodo da classe… que seria uma classe nao instanciada, e soh iria retornar metodos null (creio eu)…
vc deveria por “computadorBordo.toString()”… que seria o nome do OBJETO e nao dah classe
repare q a letra “C” estava maiuscula (classe)… deve ser minuscula para ser o nome do objeto
EDIT: ahh… achei q colocando o [ “B” ] dentro do codigo ia ficar em negrito =P
G
gnr_ssa
Ae galera obrigado por ta ajudando ae, mas alterei como falaram e nem a pau nem mostra os dados.
C
cawink
Na minha humilde opinião eu faria um pouco diferente, acho que até facilitaria.
2 - Depois simplesmente utilizaria ela na classe PrincipalApp, coloquei o vetor de lista de carros nessa classe principal tb.
Pode-se trabalhar melhor o código, mas acho que a descrição fica mais fácil, pois a classe ComputadorBordo descreve o computador e a classe principal adiciona o computador no vetor.
Obs.: não consegui testar o código direito, não sei se roda de primeira, mas fiz modificações na parte da orientação a objetos.
publicclassPrincipalApp{publicPrincipalApp(){}publicstaticvoidmain(String[]args){ArrayList<ComputadorBordo>list=newArrayList();System.out.println("");System.out.println(" COMPUTADOR DE BORDO ");System.out.println("");System.out.println("");intopcao=0;do{System.out.println(" \n");System.out.println("ESCOLHA OPCAO DESEJADA>");System.out.println("");System.out.println("");System.out.println("1 - CADASTRAR COMPUTADOR DE BORDO FIAT");System.out.println("");System.out.println("2 - CADASTRAR COMPUTADOR DE BORDO FORD");System.out.println("");System.out.println("3 - LISTAR CADASTRO DE COMPUTADORES DE BORDO");System.out.println("");System.out.println("\n0 - SAIR \n");opcao=Keyboard.readInt();switch(opcao){case1:{ComputadorBordofiatComputer=newComputadorBordo();System.out.println("");System.out.println("-----------------------------");System.out.println("Computador de Bordo Fiat");System.out.println("-----------------------------");System.out.println("");System.out.print("Digite o Codigo..: ");fiatComputer.setCodigo(Keyboard.readString());System.out.print("Digite o Km Rodado.: ");fiatComputer.setKmRodado(Integer.valueOf(Keyboard.readString()));System.out.print("Digite Quantidade de Litros: ");fiatComputer.setQ_litros(Integer.valueOf(Keyboard.readString()));System.out.print("Digite Consumo Medio: ");fiatComputer.setConsumo(Integer.valueOf(Keyboard.readString()));list.add(fiatComputer);break;}case2:ComputadorBordofordComputer=newComputadorBordo();System.out.println("");System.out.println("-----------------------------");System.out.println("Computador de Bordo Fiat");System.out.println("-----------------------------");System.out.println("");System.out.print("Digite o Codigo..: ");fordComputer.setCodigo(Keyboard.readString());System.out.print("Digite o Km Rodado.: ");fordComputer.setKmRodado(Integer.valueOf(Keyboard.readString()));System.out.print("Digite Quantidade de Litros: ");fordComputer.setQ_litros(Integer.valueOf(Keyboard.readString()));System.out.print("Digite Consumo Medio: ");fordComputer.setConsumo(Integer.valueOf(Keyboard.readString()));list.add(fordComputer);break;case3:System.out.println("Listagem dos Computadores de Bordo");for(ComputadorBordoc:list){System.out.println("Marca: "+c.getMarca());System.out.println("Consumo: "+c.getConsumo());//Escreve o resto}break;default:{/* * Mostra mensagem de erro */System.out.println("Opcao invalida");}}}while(opcao!=0);System.out.println("--------------------------------------------");System.exit(0);}}
Certo, falo
C
cawink
Putz, falto colocar a MARCA, fica assim:
publicclassPrincipalApp{publicPrincipalApp(){}publicstaticvoidmain(String[]args){ArrayList<ComputadorBordo>list=newArrayList();System.out.println("");System.out.println(" COMPUTADOR DE BORDO ");System.out.println("");System.out.println("");intopcao=0;do{System.out.println(" \n");System.out.println("ESCOLHA OPCAO DESEJADA>");System.out.println("");System.out.println("");System.out.println("1 - CADASTRAR COMPUTADOR DE BORDO FIAT");System.out.println("");System.out.println("2 - CADASTRAR COMPUTADOR DE BORDO FORD");System.out.println("");System.out.println("3 - LISTAR CADASTRO DE COMPUTADORES DE BORDO");System.out.println("");System.out.println("\n0 - SAIR \n");opcao=Keyboard.readInt();switch(opcao){case1:{ComputadorBordofiatComputer=newComputadorBordo();System.out.println("");System.out.println("-----------------------------");System.out.println("Computador de Bordo Fiat");System.out.println("-----------------------------");System.out.println("");fiatComputer.setMarca("FIAT");System.out.print("Digite o Codigo..: ");fiatComputer.setCodigo(Keyboard.readString());System.out.print("Digite o Km Rodado.: ");fiatComputer.setKmRodado(Integer.valueOf(Keyboard.readString()));System.out.print("Digite Quantidade de Litros: ");fiatComputer.setQ_litros(Integer.valueOf(Keyboard.readString()));System.out.print("Digite Consumo Medio: ");fiatComputer.setConsumo(Integer.valueOf(Keyboard.readString()));list.add(fiatComputer);break;}case2:ComputadorBordofordComputer=newComputadorBordo();System.out.println("");System.out.println("-----------------------------");System.out.println("Computador de Bordo Fiat");System.out.println("-----------------------------");System.out.println("");fordComputer.setMarca("FORD");System.out.print("Digite o Codigo..: ");fordComputer.setCodigo(Keyboard.readString());System.out.print("Digite o Km Rodado.: ");fordComputer.setKmRodado(Integer.valueOf(Keyboard.readString()));System.out.print("Digite Quantidade de Litros: ");fordComputer.setQ_litros(Integer.valueOf(Keyboard.readString()));System.out.print("Digite Consumo Medio: ");fordComputer.setConsumo(Integer.valueOf(Keyboard.readString()));list.add(fordComputer);break;case3:System.out.println("Listagem dos Computadores de Bordo");for(ComputadorBordoc:list){System.out.println("Marca: "+c.getMarca());System.out.println("Consumo: "+c.getConsumo());//Escreve o resto}break;default:{/* * Mostra mensagem de erro */System.out.println("Opcao invalida");}}}while(opcao!=0);System.out.println("--------------------------------------------");System.exit(0);}}