• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wyszukiwanie arraylist

Cloud VPS
0 głosów
310 wizyt
pytanie zadane 3 maja 2019 w Java przez tomey Nowicjusz (120 p.)

Witam zaczalem sie uczyc javy i natrafiłem na pewien problem. Mam dwie klasy glowna( moj main) i druga tu urywek kodu z klasy drugiej.

public class zawodnicy implements Comparable<zawodnicy> {
	protected  String imie ;
	protected String nazwisko ;
	protected String kraj ;
	protected  int wzrost;
	protected  int zasieg_a;
	protected int zasieg_b;

zawodnicy(String im, String nazw,String kr,int wzr,int zas_a,int zas_b)
{
	this.imie=im;
	this.nazwisko=nazw;
	this.kraj=kr;
	this.wzrost=wzr;
	this.zasieg_a=zas_a;
	this.zasieg_b=zas_b;
}

w glownej tworze arraylist podaje zawodnika jako obiekt wpisuje wartosci wszystko dziala

urywek kodu

public class Glowna extends zawodnicy {



	public static void main(String[] args) 
	{
         ArrayList<zawodnicy>lista=new ArrayList<zawodnicy>();
           System.out.println("podaj imie: ");
		 im = scaner.next();
		 scaner.reset();
		System.out.println("podaj nazwi: ");
		 nazw = scaner.next();
		System.out.println("podaj kraj: ");
		 kr = scaner.next();
		System.out.println("podaj wzrost: ");
		 wzr = scaner.nextInt();
		System.out.println("podaj zasieg_a: ");
		 zas_a = scaner.nextInt();
		System.out.println("podaj zasieg_b: ");
		 zas_b = scaner.nextInt();
		 zawodnik= new zawodnicy(im,nazw,kr,zas_a,zas_b, zas_b);
	    lista.add(zawodnik);

teraz chcialbym wyszukac wsrod dodanych zawodnikow, zawodnika o wzroscie z przedzialu od min do max, chce napisac metode do tego, ale nie wiem jak dokladnie sie do tego zabrac, czy jako argument oprocz wartosci min max musze podac arrayliste lub moj obiekt?, jak w petli for zrobic zeby pozniej w if porownac min i max do wszystkich zawodnikow z mojej arraylisty. Metode chce w klasie zawodnicy, prosze o nakierowanie do rozwiazania ewentualnie zalinkowania dobrych tutoriali bo niestety szukalem i znajdowalem gotowe funkcje ktorych nie moge zastosowac ewentualnie funkcje pisane od razu w mainie... w klasie zawodnicy mam wszystkie gettery i settery.

1 odpowiedź

+2 głosów
odpowiedź 3 maja 2019 przez Zibi Obywatel (1,220 p.)
Twój problem można rozwiązać na wiele sposobów. Ale chciałem Ci jeszcze co nieco powiedzieć o standardach kodowania w języku Java. Staraj się nazywać klasy od dużej litery i niech to będą rzeczowniki lub wyrażenia odrzeczownikowe w liczbie pojedynczej.

Możliwe sposoby rozwiązania to:

1. Możesz napisać metodę która ma parametry: listę zawodników oraz minimalny i maksymalny wzrost i w jej wnętrzu filtrować listę w pętli dodając do nowej listy zawodników spełniających kryteria.

2. Możesz też listę zawodników zrobić polem w klasie Glowna. Wtedy metoda będzie miała tylko dwa parametry związane ze wzrostem.

3. Możesz we wnetrzu metody filtrującej użyć strumieni i lamdb aby nie tworzyć dodatkowej listy

Po co klasa Glowna rozszerza klasę zawodnicy?
komentarz 3 maja 2019 przez tomey Nowicjusz (120 p.)
Co do pytania dlaczego główna rozszerza klasę.  Tak zostało to pokazane na wykładzie. Wielkie dzięki za pomoc.

Podobne pytania

0 głosów
1 odpowiedź 2,778 wizyt
0 głosów
1 odpowiedź 180 wizyt
+1 głos
1 odpowiedź 740 wizyt

93,464 zapytań

142,459 odpowiedzi

322,730 komentarzy

62,844 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...