Duvida com vetor de objeto

Na verdade eu so quero saber onde foi que eu errei no codigo abaixo,tava testando um codigo da apostila e
nao consegui executar o codigo abaixo!!
Teste na maquina de vcs,ja vi IDE rodar um cod numa maquina e em outra nao(nunca aconteceu com o netbeans…),
ou poderia ser burrice minha tb 8)

[code]package vetoresobjetos;

public class metodomain {
public class conta {

String dono;
double saldo;

}
public static void main(String[] args){
conta[] x = new conta[3];
int i = 0;

x[i].dono=“P0”;
x[i].saldo=10;
i++;
x[i].dono = “P1”;
x[i].saldo=1000;
i++;
x[i].dono=“P2”;
x[i].saldo=2000;

System.out.println(“Funfou”);
}
}
[/code]

Eu tentei acessar o vetor x com o numero e depois com a variavel que ta fazendo esse papel!!
Eu errei na forma de acessar o vetor???

Salve !

Vc precisa add os caras no vetor primeiro:


Conta[] contas = new Conta[3];
		
int i = 0;
contas[i] = new Conta();
contas[i].dono="P0";
contas[i].saldo=10;

// demais ...

Para facilitar, remova a classe interna e cria uma outra classe Conta.

Tentei instanciar o objeto diretamente assim como vc ta falando e nao deu certo,
tava pensando que uma array de referencias seria igual a um registro que vi outro dia em estrutura de dados…,
ledo engano!!

So funciona assim,pelo menos foi como eu consegui!!!

[code]public static void main (String[] args){
registrocomclasse [] x = new registrocomclasse[2];
registrocomclasse y = new registrocomclasse();

x[1] = y;[/code]

Eu so fiquei sem entender pra que serve uma variavel que nao tem autonomia pra guardar diretamente elementos!!!
Se ela vai add dentro dela uma variavel,pra diabos ela serve?Pra trabalhar com varios objetos dentro de um metodo?

Remova a sua classe interna que vc consegue !


public class Main{

     public static ......
}
public class Conta{

     // .....
}

Funcionou lol
Newbie eh fuckz!!
Eu tava instanciando o objeto num atributo!!
x.dono[1]=new registrocomclasse();

uahuhaeuheuhaeuhaeuhaeuhauheu

Valeuuuuu =D

E ainda no assunto dos vetores,…,eu tentei instanciar as posicoes do vetor por um loop!!
VOce sabe dizer pq nao compila?

[code]package vetores2;

public class metodomain {

public static void main (String[] args){
registrocomclasse [] x = new registrocomclasse[2];
registrocomclasse y = new registrocomclasse();

for(int a =0;a<3;a++){
x[a]=new registrocomclasse();

}

}

}[/code]

Está sendo declarado um array com duas posições. E o for fará 3 loops tentando inicializar 3 posições do array.

Coloque três posições no array:

registrocomclasse [] x = new registrocomclasse[3];

Ou diminua um loop no for:

for(int a =0;a<2;a++){

Ehhh verdade!!
O problema eh que eu tou acostumado com o pascal da faculdade…,e em pascal o vetor comeca no 1 e nao no zero!!
De qualquer forma valeu!!!