Buenas:
Por lo que puedo ver, cuando llamas al metodo temas.preguntas, no le asignas el return a ninguna variable.
Me explico, cuando llamas a un metodo que te retorna algo, lo ideal es que al llamarlo lo hagas con una assignación, para que al manipularlo desde main te sea mas facil.
por ejemplo:
 
preguntas = tema.preguntas();
 
for (i
=0; i
<4; i
++) System.
out.
println(preguntas
[i
]);  
 
 
Evidentemente, la variable destino debe de ser del mismo tipo que el retorno del metodo que llamamos.
No se si me he explicado bien, espero que te sirva.
Saludos!