@kacper635 Pierwsza zasada - prawidłowo nazywać zmienne. Tutaj nie wiadomo czym jest g1 a czym jest d1. Utrudniasz sobie też zadanie wpisując godzinę końca lekcji. Lekcje zawsze trwają tyle samo - 45 minut. Czyli wystarczy zapisywać tylko godzinę początku lekcji. Godzinę końca lekcji można obliczyć i może nawet wyświetlić się automatycznie po wpisaniu początku lekcji 😉
Godziny rozpoczęcia lekcji w planie są stałe (dla danej szkoły), zmieniają się tylko zajęcia, które odbywają się w tym czasie. Więc interesującą informacją dla ucznia będzie czy w danym czasie ma jakieś zajęcia. Gdzie "okienko" też można uznać za pewną formę zajęć. Czyli jak chcesz uzupełnić i dodać do bazy danych godziny w których zaczynają i kończą się lekcje lepiej byłoby to zrobić na poziomie całej szkoły a nie grupy. Dla grupy istotne będzie czy na pierwszej lekcji (trwającej od 8:00 do 8:45 <- informacja z bazy danych z tabelki mającej nazwę np. taką: Godzina_rozpoczecia_zakonczenia_lekcji) ma WF czy Informatykę. W takim przypadku, żadne z tych pól nie może być puste:
if ( !g1.isEmpty() && !d1.isEmpty() && !g2.isEmpty() && !d2.isEmpty()
&& !g3.isEmpty() && !d3.isEmpty() && !g4.isEmpty() && !d4.isEmpty()
&& !g5.isEmpty() && !d5.isEmpty() && !g6.isEmpty() && !d6.isEmpty()
&& !g7.isEmpty() && !d7.isEmpty())
Jednak jeżeli chcesz pozostać przy swoim rozwiązaniu to musisz najpierw wiedzieć co oznacza zapis:
g1.isEmpty() != d1.isEmpty()
W tym przypadku będzie to prawda wtedy gdy jedno z tych pól będzie puste a drugie uzupełnione ponieważ pomiędzy nimi jest znak "!=" czyli "różne od". Zatem gdy:
g1.isEmpty() -> fałsz // pole uzupełnione
d1.isEmpty() -> prawda // pole puste
fałsz jest różny od prawdy -> prawda. Czyli zapis w kodzie nie spełnia Twojego warunku. Musisz zmienić wszystkie "!=" na "==" . Wtedy warunki zostaną spełnione: fałsz jest równy fałsz (czyli lekcja) oraz prawda jest równa prawda (czyli okienko)
Kolejną ważną rzeczą jest operator logiczny: alternatywa "||" . W Twoim przypadku nie możesz go użyć. Ponieważ ani razu nie może wyjść fałsz:
g1.isEmpty() == d1.isEmpty() || g2.isEmpty() == d2.isEmpty() // fałsz || prawda -> zawsze da prawdę
W parze g1 d1 jedna wartość jest uzupełniona, a druga pusta - warunek który nie może się wydarzyć! W parze g2 d2 obie są uzupełnione. Alternatywa w tym przypadku da prawdę i błędne dane pójdą do bazy 🙁
Musisz użyć koniunkcji "&&" Czyli Twój warunek będzie wyglądał podobnie do tego poniżej:
g1.isEmpty() == d1.isEmpty() && g2.isEmpty() == d2.isEmpty()