Concatenação de String, é possivel

estou começando a aprender Java e estou com um probleminha
Quero enviar vários dados para uma classe Vetor, tais como Nome, RA, e etc.
Fiz então algumas modificações na minha classe DADOS e ficou mais ou menos assim:

[code]public class Dados {
private String elem;
private String RA;

public void setAdiciona(String element) {
    this.elem = element;
    
}

public void setAdicionaRa(String raAluno){
    this.RA = raAluno;
}

public String getElement() {
    return this.elem;
    
}

public String getraAluno() {
    return this.RA;
}

public String toString() {
     return new StringBuffer().append(RA).append(elem).append('c').toString();
} 

}
[/code]
O problema é que na saída fica assim [nullnullc], o ‘c’ que eu coloquei para teste vai para a lista, mas os elementos que eu entro no teclado não, fica no lugar de nome e RA o valor null.
Alguém pode me ajudar

O teu problema está noutro lado que não nessa classe.

Essa classe está bem, embora eu mudasse de StringBuffer para StringBuilder, ou mesmo simplesmente concatenando com o + .

Posta a parte de como estás a pedir os dados ao utilizador.

Muito obrigado pmlm, segue o código do da CLASSE PRINCIPAL

[code]package Exercicio3;

import java.util.Scanner;

public class Principal {

public static void main(String[] args) {
   
    int nroElem, x;
    x = 0;
    
    Scanner entrada = new Scanner(System.in);
    
    Vetor lista = new Vetor();
    
    System.out.println("-----------------Programa Alunos-----------------");
    System.out.println("      Quantos Alunos Deseja Incluir(Max 100)");
    nroElem = Integer.parseInt(entrada.nextLine());
    
    
    while (x < nroElem){
    x++;
    Dados elem = new Dados();
    Dados RA = new Dados();
    Dados pto = new Dados();
    System.out.println("Digite o "+x+"º RA:");
    int rA = Integer.parseInt(entrada.nextLine());
    System.out.println("Digite o "+x+"º Nome:");
    String nome = entrada.nextLine(); 
    elem.setAdiciona(nome);
    RA.setAdicionaRa(Integer.toString(rA));
    
    lista.adiciona(pto);
    
    
    }
    
    System.out.println(lista);
    System.out.println("Numero de Aluno(s): "+lista.tamanho());
    
    System.out.println("Qual posição deseja mostrar");
    int posic = Integer.parseInt(entrada.nextLine());
    Dados obj = lista.pega(posic);
    System.out.println(obj.getElement());
}

}[/code]

Bom essa é a minha CLASSE VETOR

package Exercicio3;

public class Vetor {
    private Dados[] dados = new Dados[100];
    private int total = 0;
    
    public void adiciona(Dados allIn) {
        this.dados[this.total] = allIn; 
        this.total++;
    }
    
   
public String toString(){    
if(this.total == 0){
            return "[]";
        }
        
        StringBuilder builder = new StringBuilder();
        builder.append("[");
        for (int i = 0; i < this.total - 1; i++){
            builder.append(this.dados[i]);
            builder.append(",");
        }
        
        builder.append(this.dados[this.total - 1]);
        builder.append("]");
        return builder.toString();
}
  
public int tamanho(){
    return this.total;
}

public boolean contem(Dados dado){
    for( int indice =0;indice<=total -1;indice++){
        if(dado == this.dados[indice]){
            return true;
        }
    }
    return false;
} 

public Dados pega(int posicao){
        return this.dados[posicao];
    }

private boolean posOculpada(int posicao){
    return posicao >= 0 && posicao < this.total;
}

}

Atenciosamente.

Guerra.rafa, ao postar códigos, use a tag code. Eu vi que você tentou fazer isso em seu primeiro post, mas você deve DESMARCAR a opção “desabilitar formatação BB nesta mensagem”. É ela que permite que o código fique formatado. Já consertei as outras postagens para você.

Muito Obrigado, eu não sabia

Atenciosamente

O teu problema está aqui. Estás a criar 3 instâncias do objecto em cada iteração quando deves criar apenas uma e será nessa que fazes os set e que adicionas depois à tua lista.

Obrigado amigo, consegui resolver.

Obrigado a todos