Zadanie - Odwołania do składowych klasy

0

Hej wszystkim,
Jestem bardzo początkujący i jako pracę domową dostałem zadanie:
Uzupełniłem kod konstruktora (Chyba dobrze) ale nie potrafie sobie poradzić z metodą przeciecie...
Ktoś chętny mi pomóc? I przepraszam jeżeli to nie miejsce na takie pytania ale potrzebuje pomocy. Z góry dziękuje za zrozumienie i ewentualną pomoc

public class Main {
public static void main(String[] args) {
int a1 = 4/<- jeden koniec pierwszego przedziału /;
int b1 = 2/<- drugi koniec pierwszego przedziału /;
int a2 = 3/<- jeden koniec drugiego przedziału /;
int b2 = 5/<- drugi koniec drugiego przedziału /;

Przedzial p1 = new Przedzial(a1,b1), p2 = new Przedzial(a2,b2); 

System.out.println("Przedział‚ " + p1 + " ma " + "początek " + p1.poczatek() + " i koniec " + p1.koniec());

System.out.println("Przecięcie " + p1 + " i " + p2 + " = " + 
              (p1.przeciecie(p2)!=null?p1.przeciecie(p2):"pusty przedział")); 
}
}
public class Przedzial {

private int pocz, koniec;

public Przedzial (int a, int b)
{ /<- kod konstruktora /
pocz = b;
koniec = a;
}

public int poczatek() {
return pocz;
}
public int koniec() {
return koniec;
}
Przedzial przeciecie(Przedzial p)
{

} /<- kod metody przeciecie(...) /

/<- kod innych metod /
} 
1

Mając 2 przedziały, kiedy mają niepustą cześć wspólną?

1

Kilka uwag, zamiast:

Przedzial p1 = new Przedzial(a1,b1), p2 = new Przedzial(a2,b2);

napisz po prostu:

Przedzial p1 = new Przedzial(a1,b1),
Przedzial p2 = new Przedzial(a2,b2);

chyba, że jest jakaś kara za dodatkowe linie kodu.

Konstruktor raczej jest niepoprawny. Jeżeli masz pole pocz, które powinno mieć nazwę poczatek (no chyba że już nie masz siły dopisać 3 literki) to by sugerowało że początek powinien być mniejszy lub równy końcowi. Można to zrobić na if-ach albo użyć Math.min i Math.max.

Getter public int koniec() powinien mieć nazwę public int getKoniec()

Co do przecięcia to możesz zacząć od sprawdzenia który zbiór ma mniejszy początek, a potem sprawdzić ten z większym początkiem czy jest mniejszy lub równy od końca zbioru, który ma mniejszy początek.

1 użytkowników online, w tym zalogowanych: 0, gości: 1