Algo assim.
Só uma observação, use encapsulamento para acessar suas variavéis, para este caso em particular.
Os famoso getters e setters e não faça o acesso direto como minhasContas[0].saldo, seria minhasContas[0].getSaldo();
Abraços.
E
entanglement
Em C++ as coisas são um pouco diferentes, porque a divisão de tarefas é um pouco difusa. E é por isso que o Java não faz as coisas iguaizinhas ao C++ porque é realmente confuso.
Você pode ter algo como:
Ovocaixa[12];
Em C++ isso junta as responsabilidades da galinha (que é a de fabricar o ovo) e a da fábrica de caixas de ovos (que é a de fazer a caixa). Para tornar isso mais confuso ainda, a caixa de ovos (o array) não tem um indicador de tamanho intrínseco (ou seja, se você receber essa caixa de ovos como parâmetro, não sabe qual é o tamanho dela, se tem 12 ou 20 ovos). Você só tem a indicação de onde a caixa começa, mas não onde a caixa termina.
denisspitfire
Segue um código comentado para lhe ajudar.
publicclassArray{publicstaticvoidmain(String[]args){//Criando VetorObjeto[]vetor=newObjeto[5];//Este for cria objetos e aloca na posição [i], até o final do vetor.for(inti=0;i<vetor.length;i++){vetor[i]=newObjeto();}//Essa parte altera o nome que é um atributo da classe Objeto.vetor[0].nome="Teste1";vetor[1].nome="Teste2";vetor[2].nome="Teste3";vetor[3].nome="Teste4";vetor[4].nome="Teste5";//Esse for mostra todos os atributos "nome" dos objetos do vetor.for(inti=0;i<vetor.length;i++){System.out.println(vetor[i].nome);}}}
FLW
L
leonardomalagoli
Olá,
Coloquei alguns comentários em seu código para lhe ajudar a entender o que está errado.
Basicamente você tentou acessar um objeto que não existe. O que existe é uma variável de referencia que por enquanto não aponta para lugar algum. 8)
publicclassPrograma{publicstaticvoidmain(String[]args){Conta[]minhasContas;minhasContas=newConta[10];// Aqui você cria uma "caixa" com capacidade para armazenar 10 objetos Conta. Observe que você ainda não tem nenhum objeto Conta, somente a "caixa" para armazena-los.ContaminhaConta;minhaConta=newConta();// Aqui você realmente cria um Objeto Conta;ClienteJP;JP=newCliente();minhaConta=minhasContas[0];//Aqui você pega o que tem na sua caixa , que por enquanto é null, e coloca na variável minha conta. Agora sua variável minhaConta tem um null e não um objeto Conta;minhaConta.titular=JP;// Aqui você está fazendo null.titular=JP, por isso é gerada a exception.minhaConta.titular.nome="Joao";minhaConta.titular.sobrenome="Paulo";minhaConta=newConta();minhaConta.saldo=950000;minhaConta.numero=001;System.out.println(minhasContas[0].saldo);}}
Espero ter ajudado;
Abraços;
C
CaioIncau
Opa muito obrigado, consegui resolver
minhaConta=minhasContas[0];
passei apra
minhasContas[0]=minhaConta;
Mto obrigado,quanto a encapsulamento ainda não cheguei nesta parte da apostila ^^
eu não entendi a parte do null titular na linha
minhaConta.titular=JP;
alguem poderia me explicar oque esta errado?
nel
Oi!
O que quiseram explicar foi que você tinha uma referência de um Objeto nula e tentava executar alguma ação com ele.
Você tinha uma referência nula e tentava, nesse caso, acessar a variavél titular, fazendo:
minhaConta.titular=JP;
Como a referência minhaConta é nula, seria o mesmo que: