Olá, bom dia. Quero que os elementos de uma matriz do meu código se tornem uma variável de referência de um objeto, e não variáveis primitivas.
Pois bem, consegui fazer isso de maneira manual, pegando os três elementos da minha matriz e declarando cada um como uma variável de referência de objeto. Mas isso não seria uma tarefa viável se fossem 100 elementos por exemplo. Por isso gostaria de fazer cada elemento virar uma variável de referência usando um “while” por exemplo. Vou mostrar o código abaixo.
class BooksTestDrive
{
public static void main ( String args [] )
{
Books myBooks [] = new Books [3];
int x = 0;
myBooks [0] = new Books ();
myBooks [1] = new Books ();
myBooks [2] = new Books ();
myBooks[0].title = "The Grapes of Java";
myBooks[1].title = "The Java Gatsby";
myBooks[2].title = "The Java Cookbook";
myBooks[0].author = "Bob";
myBooks[1].author = "Sue";
myBooks[2].author = "Ian";
while ( x < 3 )
{
//myBooks [x] = new Books ();
System.out.print( myBooks[x].title );
System.out.print( " by " );
System.out.println ( myBooks[x].author );
x = x + 1;
}
}
}
A linha 22 que está comentada é o código que não funcionou. Gostaria de retirar a linha 8, 9 e a 10 e deixar a linha 22 ou algo parecido. Mas isso não é executado. Gostaria de saber o por quê. O que estaria errado, como fazer funcionar desta maneira. Abraços, espero ter sido claro.