Witam. Od jakiegoś czasu uczę się Javy. Chciałbym się dowiedzieć jak do tablicy obiektów stworzyć metodę, która wyświetli nazwy tylko tych obiektów, dla których zgadzają się podane wartości i wylosuje jeden z nich. Jak do tej pory udało mi się to pierwsze i wygląda to tak:
public class FiguryProstokatne {
private String nazwa;
private boolean katProsty;
public String getNazwa()
{
return nazwa;
}
public FiguryProstokatne (String nazwa, boolean katProsty)
{
this.nazwa = nazwa;
this.katProsty = katProsty;
}
public static void main(String[]args)
{
FiguryProstokatne[] listaFigur = new FiguryProstokatne[4];
listaFigur[0] = new FiguryProstokatne("koło", false);
listaFigur[1] = new FiguryProstokatne("kwadrat", true);
listaFigur[2] = new FiguryProstokatne("romb", false);
listaFigur[3] = new FiguryProstokatne("prostokat", true);
for (int i = 0; i<listaFigur.length; i++)
{
{
if (listaFigur[i].katProsty ==true)
{
System.out.println(listaFigur[i].nazwa);
}
}
}
}
}
I tutaj chciałem zapytać po pierwsze:
Czy w tym przypadku żeby kod był w porządku powinienem stosować getter do obiektu tablicy zamiast bezpośredniego odwołania do pola: listaFigur[i].nazwa
?
Po drugie: Co zrobić żeby spośród elementów dla których katProsty ma wartość true, był wybierany jeden, losowy?
Po trzecie: Czy całość można zrobić prościej, przy pomocy metod gotowych klas, np. Arrays?