Sou iniciante em java e tô fazendo um programa que gerencia um banco monetário aqui e uma das classes é a gerencia agência bancária. Eu to inicializando as variáveis igualando elas a "null" . è assim mesmo que faz a inicialização das variáveis?tá dando o erro: "o valor desginado nunca é utilizado". Alguém sabe o porquê disso acontecer?
packagesistbancario;importjava.util.Scanner;/** * * @author Home */publicclassGerenciaAgencia{privateintnum=2;intentrada3;Scannere=newScanner(System.in);AgenciaficharioAgencia[];publicGerenciaAgencia(){this.ficharioAgencia=newAgencia[num];}publicvoidcadastraAgencia(){Stringcodigo=null;Stringnome=null;Stringrua=null;Stringbairro=null;Stringcidade=null;Stringestado=null;Stringcep=null;for(inti=0;i<num;i++){ficharioAgencia[i]=newAgencia();System.out.println("codigo:"+codigo);codigo=e.next();ficharioAgencia[i].setCodigo(codigo);[Orestodosgettersesetters]System.out.println("As agencias cadastradas são:");for(i=0;i<ficharioAgencia.length;i++){ficharioAgencia[i].consultaAgencia();}}}
essa é uma parte do codigo só… nessa parte eu ininializo as variaveis da agencia para serem usadas pelos getters e setters e por outras partes do programa… eu li no deitell que tem que igualar ela a null para inicializar, mas dá sempre esse erro aí… eu não sei se é desse jeito que inicializa nesse caso tbem… to bem perdido kkk
ppro11
rsrs é que seu código ta bem estranho… se vc dissesse o que quer fazer exatamente com esse código, acho que tem como te ajudar!
G
GuilhermeENGMAT
Vou a clase inteira... Nessa parte eu faço os métodos para semrem chamados em um menu mais pra frente. Esse meodos cadastram agencias, exclui agencias e tal... mas o preocuado com esses 'null', eu não sei ao certo o que eles significam e estão causando muitos problemas na execução do programa inteiro... até a excessão "Exception in thread "main" java.lang.NullPointerException" tá aparecendo nele e tem a ver com esses 'null'
packagesistbancario;importjava.util.Scanner;/** * * @author Home */publicclassGerenciaAgencia{privateintnum=2;intentrada3;Scannere=newScanner(System.in);AgenciaficharioAgencia[]=newAgencia[num];publicvoidcadastraAgencia(){Stringcodigo=null,nome=null,rua=null,bairro=null,cidade=null,estado=null,cep=null;for(inti=0;i<num;i++){ficharioAgencia[i]=newAgencia();System.out.println("codigo:"+codigo);codigo=e.next();ficharioAgencia[i].setCodigo(codigo);System.out.println("nome:");nome=e.next();ficharioAgencia[i].setNome(nome);System.out.println("rua:");rua=e.next();ficharioAgencia[i].setRua(rua);System.out.println("bairro:");bairro=e.next();ficharioAgencia[i].setBairro(bairro);System.out.println("cidade:");cidade=e.next();ficharioAgencia[i].setCidade(cidade);System.out.println("estado:");estado=e.next();ficharioAgencia[i].setEstado(estado);System.out.println("cep");cep=e.next();ficharioAgencia[i].setCep(cep);System.out.println("As agencias cadastradas são:");for(i=0;i<ficharioAgencia.length;i++){ficharioAgencia[i].consultaAgencia();}}}publicvoidpesquisaAgencia(){Stringentrada4;booleang,cont2=false;intauxi,i3=0;System.out.println("1- Ver todas as agencuas cadastradas\n2- Fazer uma busca pelo codigo");auxi=e.nextInt();if(auxi==1){System.out.println("\nAs agencias cadastrados são:");for(inti=0;i<num;i++){i3+=1;System.out.println("\nAgencias "+i3+":");ficharioAgencia[i].consultaAgencia();}}if(auxi==2){System.out.println("\nDigite o codigo: ");entrada4=e.next();for(inti=0;i<num;i++){g=entrada4.equals(String.valueOf(ficharioAgencia[i].getCodigo()));if(g==true){cont2=true;ficharioAgencia[i].consultaAgencia();}}if(cont2==false){System.out.println("\n\tAgencia não encontrado");}}}/** * * @param codigo * @param nome * @param rua * @param bairro * @param cidade * @param estado * @param cep */publicvoidatualizaAgencia(Stringcodigo,Stringnome,Stringrua,Stringbairro,Stringcidade,Stringestado,Stringcep){System.out.println("\nAs agencias cadastrados são:");for(inti3=0;i3<num;i3++){i3+=1;System.out.println("\nAgencia "+i3+":");ficharioAgencia[i3].consultaAgencia();System.out.println("\nDigite o número da agencia a ser alterado:");entrada3=e.nextInt();for(inti=0;i<num;i++){if(entrada3==i+1){System.out.print("\nAtualize o codigo: ");codigo=e.next();System.out.print("Atualize o nome: ");nome=e.next();System.out.print("Atualize a rua: ");rua=e.next();System.out.print("Atualize o bairro: ");bairro=e.next();System.out.print("Atualize a cidade: ");cidade=e.next();System.out.println("Atualiza o estado");estado=e.next();System.out.print("Atualize o cep: ");cep=e.next();ficharioAgencia[i].alteraAgencia(codigo,nome,rua,bairro,cidade,estado,cep);}}System.out.println("Atualização feita com sucesso");}/** * */}publicvoidexcluiAgencia(){inti2=0;System.out.println("\nAs agencias são:");for(inti=0;i<num;i++){i2+=1;System.out.println("\nCliente "+i2+":");ficharioAgencia[i].consultaAgencia();}System.out.println("\nDigite o número da agencia a ser excluída:");entrada3=e.nextInt();for(inti=0;i<num;i++){if(entrada3==i+1){ficharioAgencia[i]=null;num-=1;}}}}
G
GuilhermeENGMAT
GuilhermeENGMAT:
Vou a clase inteira... Nessa parte eu faço os métodos para semrem chamados em um menu mais pra frente. Esse meodos cadastram agencias, exclui agencias e tal... mas o preocuado com esses 'null', eu não sei ao certo o que eles significam e estão causando muitos problemas na execução do programa inteiro... até a excessão "Exception in thread "main" java.lang.NullPointerException" tá aparecendo nele e tem a ver com esses 'null'
erro "o valor desgnado nunca é utilizado" na linha 17...
packagesistbancario;importjava.util.Scanner;/** * * @author Home */publicclassGerenciaAgencia{privateintnum=2;intentrada3;Scannere=newScanner(System.in);AgenciaficharioAgencia[]=newAgencia[num];publicvoidcadastraAgencia(){Stringcodigo=null,nome=null,rua=null,bairro=null,cidade=null,estado=null,cep=null;for(inti=0;i<num;i++){ficharioAgencia[i]=newAgencia();System.out.println("codigo:"+codigo);codigo=e.next();ficharioAgencia[i].setCodigo(codigo);System.out.println("nome:");nome=e.next();ficharioAgencia[i].setNome(nome);System.out.println("rua:");rua=e.next();ficharioAgencia[i].setRua(rua);System.out.println("bairro:");bairro=e.next();ficharioAgencia[i].setBairro(bairro);System.out.println("cidade:");cidade=e.next();ficharioAgencia[i].setCidade(cidade);System.out.println("estado:");estado=e.next();ficharioAgencia[i].setEstado(estado);System.out.println("cep");cep=e.next();ficharioAgencia[i].setCep(cep);System.out.println("As agencias cadastradas são:");for(i=0;i<ficharioAgencia.length;i++){ficharioAgencia[i].consultaAgencia();}}}publicvoidpesquisaAgencia(){Stringentrada4;booleang,cont2=false;intauxi,i3=0;System.out.println("1- Ver todas as agencuas cadastradas\n2- Fazer uma busca pelo codigo");auxi=e.nextInt();if(auxi==1){System.out.println("\nAs agencias cadastrados são:");for(inti=0;i<num;i++){i3+=1;System.out.println("\nAgencias "+i3+":");ficharioAgencia[i].consultaAgencia();}}if(auxi==2){System.out.println("\nDigite o codigo: ");entrada4=e.next();for(inti=0;i<num;i++){g=entrada4.equals(String.valueOf(ficharioAgencia[i].getCodigo()));if(g==true){cont2=true;ficharioAgencia[i].consultaAgencia();}}if(cont2==false){System.out.println("\n\tAgencia não encontrado");}}}/** * * @param codigo * @param nome * @param rua * @param bairro * @param cidade * @param estado * @param cep */publicvoidatualizaAgencia(Stringcodigo,Stringnome,Stringrua,Stringbairro,Stringcidade,Stringestado,Stringcep){System.out.println("\nAs agencias cadastrados são:");for(inti3=0;i3<num;i3++){i3+=1;System.out.println("\nAgencia "+i3+":");ficharioAgencia[i3].consultaAgencia();System.out.println("\nDigite o número da agencia a ser alterado:");entrada3=e.nextInt();for(inti=0;i<num;i++){if(entrada3==i+1){System.out.print("\nAtualize o codigo: ");codigo=e.next();System.out.print("Atualize o nome: ");nome=e.next();System.out.print("Atualize a rua: ");rua=e.next();System.out.print("Atualize o bairro: ");bairro=e.next();System.out.print("Atualize a cidade: ");cidade=e.next();System.out.println("Atualiza o estado");estado=e.next();System.out.print("Atualize o cep: ");cep=e.next();ficharioAgencia[i].alteraAgencia(codigo,nome,rua,bairro,cidade,estado,cep);}}System.out.println("Atualização feita com sucesso");}/** * */}publicvoidexcluiAgencia(){inti2=0;System.out.println("\nAs agencias são:");for(inti=0;i<num;i++){i2+=1;System.out.println("\nCliente "+i2+":");ficharioAgencia[i].consultaAgencia();}System.out.println("\nDigite o número da agencia a ser excluída:");entrada3=e.nextInt();for(inti=0;i<num;i++){if(entrada3==i+1){ficharioAgencia[i]=null;num-=1;}}}}
ppro11
tá deixa eu ver no que consigo te ajudar!
G
GuilhermeENGMAT
obrigado cara! já ajudaria bastante se vc me esclarecesse a utilidade desse null… ele parece ser igual quando vc iguala uma variável int a 0… é mais ou menos isso ou eu to viajando?
ppro11
Amigão vamos por partes… seu método cadastraAgencia(); deveria receber um objeto do tipo Agencia, mais ou menos assim:
Você está inicializando, dentro do método cadastraAgencia(); várias variáveis sem necessidade!
G
GuilhermeENGMAT
Então eu to confundindo tudo cara rs… cada agencia tem vários atributos(nome, bairro, e tal)… esses atributos não precisam ser inicializados?
ppro11
Deixa só eu entender uma coisa… você tem a Classe Agencia com atributos e getters e setters certo? e na Classe GerenciaAgencia você irá implementar os métodos cadastraAgencia, atualizaAgencia e excluiAgencia, é isso?
Se for isso, está errado! pq a Classe Agencia deve conter os atributos, getters e setters (se houver necessidade) e os métodos de sua responsabilidade! - como por exemplo o cadastraAgencia(); e etc…
Respondendo seu pergunta: Não, pq são variáveis de instância, ou seja não precisam ser inicializadas!
G
GuilhermeENGMAT
Então , é isso mesmo que eu to fazendo… uma classe agencia com os getters e setters e na gerencia agencia os métodos…
Colocar tudo em uma classe só então né?
ppro11
Exatamente! vou fazer um exemplo mais ou menos e posto aqui!
Abs!
G
GuilhermeENGMAT
Vc me ajudaria bastante viu? desculpa gastar seu tempo de sono aí viu? rs
eu fiz dividido pq acho mais fácil separando assim…
ppro11
Segue um exemplo básico para você cadastrar (inserir) uma agência num ArrayList:
Classe Agencia:
publicclassAgencia{privateintcodigo;privateStringnome;privateStringrua;privateStringbairro;privateStringcidade;privateStringestado;privateStringcep;// sempre que instanciar a classe Agencia, uma lista será criada, se não// quiser que isso aconteça, modifique, o atributo abaixo!List<Agencia>list=newArrayList<Agencia>();// Construtor padrão, não era necessário implementar, pois o Java te dá de// graçapublicAgencia(){super();// TODO Auto-generated constructor stub}// método sobrescrito da Classe Object, para imprimir Strings, ao invés de referência no Array@OverridepublicStringtoString(){return"Código Agência: "+codigo+" - Nome: "+nome+" - Bairro: "+bairro;// demais atributos que quiser imprimir}// método para adicionar uma agência no ArrayListpublicvoidadicionaAgencia(Agenciaagencia){list.add(agencia);}// getters e setterspublicintgetCodigo(){returncodigo;}publicvoidsetCodigo(intcodigo){this.codigo=codigo;}publicStringgetNome(){returnnome;}publicvoidsetNome(Stringnome){this.nome=nome;}publicStringgetRua(){returnrua;}publicvoidsetRua(Stringrua){this.rua=rua;}publicStringgetBairro(){returnbairro;}publicvoidsetBairro(Stringbairro){this.bairro=bairro;}publicStringgetCidade(){returncidade;}publicvoidsetCidade(Stringcidade){this.cidade=cidade;}publicStringgetEstado(){returnestado;}publicvoidsetEstado(Stringestado){this.estado=estado;}publicStringgetCep(){returncep;}publicvoidsetCep(Stringcep){this.cep=cep;}publicList<Agencia>getList(){returnlist;}publicvoidsetList(List<Agencia>list){this.list=list;}}
Classe de Teste, para testar seus métodos:
publicclassTesteAgencia{publicstaticvoidmain(String[]args){Agenciaagencia=newAgencia();// se for capturar dados do usuário, instancie a classe Scanner aqui, e// pegue os dados, para popular o objeto Agencia...agencia.setCodigo(001);agencia.setBairro("Centro");agencia.setNome("Bradesco Prime Centro");agencia.adicionaAgencia(agencia);//chamando o método adicionaAgencia da Classe AgenciaSystem.out.println("Agencia: "+agencia.getList().toString());//implementar o método toString();}}
Ao rodar essa Classe de Teste, o resultado no console foi esse: