[RESOLVIDO] "Registros em Java"

Sou iniciante em Java, no entanto, tenho procurado me adequar na linguagem Java, assim trazendo vários métodos de resolução para essa linguagem através de outras, mas me deparei com a situação em que Java não existe Registro, mas sim um vetor instanciado de outra classe composto de seus atributos. Logo, fica a seguinte sintaxe abaixo a qual eu julgo estar correta, mas o mesmo apresenta erros na compilação.

[code]
package teste;
class SubRegistro {
public int codigo;
public String nome;

}

package teste;
public class Registro {
public static void main(String[] args){

    SubRegistro[] reg = new SubRegistro[5];

    for(int i=0;i<5;i++){
        reg[i].codigo = i;
        reg[i].nome = Integer.toString(i);
        
    System.out.println("Código\tNome");

}
        
    for(int k=0;k<5;k++){
        System.out.println(reg[k].codigo+"/t"+reg[k].nome);
    }

}
}[/code]

PS:

run:
Exception in thread “main” java.lang.NullPointerException
at teste.Registro.main(Registro.java:12)
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 1 segundo)

Não afetando na compilação do mesmo, mas só para constar. A primeiro comando de impressão de tela está fora do primeiro FOR.

O código aparentemente está ok.
Qualquer dúvida só postar aqui no fórum.

Seguinte, vc não está inicializando o SubRegistro da posição i;

No seu loop faça assim:

for(int i = 0; i < 5; i++) { reg[i] = new SubRegistro(); // Falta isso reg[i].codigo = i; reg[i].nome = Integer.toString(i); }

Agradecido pela informação.

Não sabia que deveria alocar um espaço na memória para cada índice de registro. ;D