Problema com variáveis

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?

[code]package sistbancario;

import java.util.Scanner;

/**
*

  • @author Home
    */
    public class GerenciaAgencia {
    private int num=2;
    int entrada3;
    Scanner e = new Scanner(System.in);
    Agencia ficharioAgencia[];

    public GerenciaAgencia() {
    this.ficharioAgencia = new Agencia[num];
    }

    public void cadastraAgencia(){
    String codigo = null;
    String nome= null;
    String rua= null;
    String bairro= null;
    String cidade= null;
    String estado= null;
    String cep= null;

    for (int i=0; i<num; i++){
    ficharioAgencia[i] = new Agencia();

     System.out.println("codigo:"+codigo);
     codigo=e.next();
     ficharioAgencia[i].setCodigo(codigo);
     
     [O resto dos getters e setters]
     
     System.out.println("As agencias cadastradas são:");
     for (i = 0; i < ficharioAgencia.length; i++) {
         ficharioAgencia[i].consultaAgencia();
         
     }
     }
     }
    

[/code]

o que você está tentando fazer no código?

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

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!

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’

[code]package sistbancario;

import java.util.Scanner;

/**
*

  • @author Home
    */
    public class GerenciaAgencia {

    private int num = 2;
    int entrada3;
    Scanner e = new Scanner(System.in);
    Agencia ficharioAgencia[] = new Agencia[num];

    public void cadastraAgencia() {
    String codigo = null, nome = null, rua = null, bairro = null, cidade = null, estado = null, cep = null;

     for (int i = 0; i < num; i++) {
         ficharioAgencia[i] = new Agencia();
         
         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();
             
         }
     }
    

    }

    public void pesquisaAgencia() {
    String entrada4;
    boolean g, cont2 = false;
    int auxi, 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 (int i = 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 (int i = 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
      */
      public void atualizaAgencia(String codigo, String nome, String rua, String bairro, String cidade, String estado, String cep) {

      System.out.println("\nAs agencias cadastrados são:");
      for (int i3 = 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 (int i = 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");
      

      }
      /**
      *
      */
      }

    public void excluiAgencia() {
    int i2 = 0;
    System.out.println("\nAs agencias são:");
    for (int i = 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 (int i = 0; i < num; i++) {
         if (entrada3 == i + 1) {                
             ficharioAgencia[i] = null;
             num -= 1;
             
             
         }
         
         
     }
    

    }
    }
    [/code]

[quote=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…

[code]package sistbancario;

import java.util.Scanner;

/**
*

  • @author Home
    */
    public class GerenciaAgencia {

    private int num = 2;
    int entrada3;
    Scanner e = new Scanner(System.in);
    Agencia ficharioAgencia[] = new Agencia[num];

    public void cadastraAgencia() {
    String codigo = null, nome = null, rua = null, bairro = null, cidade = null, estado = null, cep = null;

     for (int i = 0; i < num; i++) {
         ficharioAgencia[i] = new Agencia();
         
         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();
             
         }
     }
    

    }

    public void pesquisaAgencia() {
    String entrada4;
    boolean g, cont2 = false;
    int auxi, 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 (int i = 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 (int i = 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
      */
      public void atualizaAgencia(String codigo, String nome, String rua, String bairro, String cidade, String estado, String cep) {

      System.out.println("\nAs agencias cadastrados são:");
      for (int i3 = 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 (int i = 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");
      

      }
      /**
      *
      */
      }

    public void excluiAgencia() {
    int i2 = 0;
    System.out.println("\nAs agencias são:");
    for (int i = 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 (int i = 0; i < num; i++) {
         if (entrada3 == i + 1) {                
             ficharioAgencia[i] = null;
             num -= 1;
             
             
         }
         
         
     }
    

    }
    }
    [/code][/quote]

tá deixa eu ver no que consigo te ajudar!

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?

Amigão vamos por partes… seu método cadastraAgencia(); deveria receber um objeto do tipo Agencia, mais ou menos assim:

 public void cadastraAgencia(Agencia agencia) {
//blá blá aqui
}

Você está inicializando, dentro do método cadastraAgencia(); várias variáveis sem necessidade!

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?

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!

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é?

Exatamente! vou fazer um exemplo mais ou menos e posto aqui!

Abs!

Vc me ajudaria bastante viu? desculpa gastar seu tempo de sono aí viu? rs

eu fiz dividido pq acho mais fácil separando assim…

Segue um exemplo básico para você cadastrar (inserir) uma agência num ArrayList:

Classe Agencia:

public class Agencia {

	private int codigo;
	private String nome;
	private String rua;
	private String bairro;
	private String cidade;
	private String estado;
	private String cep;
	// 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 = new ArrayList<Agencia>();

	// Construtor padrão, não era necessário implementar, pois o Java te dá de
	// graça
	public Agencia() {
		super();
		// TODO Auto-generated constructor stub
	}
        
    // método sobrescrito da Classe Object, para imprimir Strings, ao invés de referência no Array
	@Override
	public String toString() {
		return "Código Agência: " + codigo + " - Nome: " + nome + " - Bairro: " + bairro;
		// demais atributos que quiser imprimir
	}

	// método para adicionar uma agência no ArrayList
	public void adicionaAgencia(Agencia agencia) {
		list.add(agencia);
	}

	// getters e setters
	public int getCodigo() {
		return codigo;
	}

	public void setCodigo(int codigo) {
		this.codigo = codigo;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getRua() {
		return rua;
	}

	public void setRua(String rua) {
		this.rua = rua;
	}

	public String getBairro() {
		return bairro;
	}

	public void setBairro(String bairro) {
		this.bairro = bairro;
	}

	public String getCidade() {
		return cidade;
	}

	public void setCidade(String cidade) {
		this.cidade = cidade;
	}

	public String getEstado() {
		return estado;
	}

	public void setEstado(String estado) {
		this.estado = estado;
	}

	public String getCep() {
		return cep;
	}

	public void setCep(String cep) {
		this.cep = cep;
	}

	public List<Agencia> getList() {
		return list;
	}

	public void setList(List<Agencia> list) {
		this.list = list;
	}

}

Classe de Teste, para testar seus métodos:

public class TesteAgencia {

	public static void main(String[] args) {

		Agencia agencia = new Agencia();
		// 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 Agencia
		
		System.out.println("Agencia: " + agencia.getList().toString()); //implementar o método toString();
	}

}

Ao rodar essa Classe de Teste, o resultado no console foi esse:

Agencia: [Código Agência: 1 - Nome: Bradesco Prime Centro - Bairro: Centro]

Espero ter ajudado, qualquer dúvida estamos aí!

Abraço e sucesso!

Cara vc não sabe o quanto me ajudou!!! muito obrigado mesmo!!!

Abraço!