E ae Pessoal
Tenho uma classe Processos, onde instancio um vetor desta classe, e uma variável chamada temporário.
public Processos[] entra_dados(){
Processos[] dados = new Processos[10];
Processos temporario = new Processos();
System.out.println("Entre com os dados dos processos\n" +
"Quantos processos deseja? ");
Scanner input = new Scanner(System.in);
int nprocessos = input.nextInt();
for (int i= 0; i< nprocessos; i++){
System.out.println("\n\t\tDigite os dados para o "+(i+1)+"º processo:");
System.out.println("Digite o nome do processo: ");
temporario.setNome(input.next());
System.out.println("Qual o período do processo?");
temporario.setPeriodo(input.nextInt());
System.out.println("Informe o tempo de CPU para este processo: ");
temporario.setTempocpu(input.nextInt());
temporario.setQuadroseg(1000/temporario.getPeriodo());
System.out.println("Quadros/segundo: "+temporario.getQuadroseg());
dados[i] = temporario;
}
return dados;
}
Mas quando armazendo tudo em temporário e faço dados[i] = temporario, o vetor todo fica somente com os últimos dados que inseri. Por exemplo, se eu estiver armazenado dados na posição 0 do vetor, e depois tentar armazer dados na posição 1, todo o meu vetor ficará com os últimos dados que inseri, tanto a posição 0 quanto a posição 1. Já sei por que isso acontece, porque quando faço essa atribuição é pego a referência do objeto e não o valor nele contido.
Mas o que devo fazer para conseguir armazenar os dados no vetor?