witam mam zadanie o kalendarzu. Prubuję je zrobić za pomocą metody pair ale, nie do końca wiem jak jej użyć. mógłby ktoś napisać jak to powinno wyglądać
tutaj opis zadania
Poniższy fragment kodu dostarczy tablicę char reprezentującą aktualną datę i godzinę:
java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd HHss") ;
java.util.Date date = new java.util.Date(System.currentTimeMillis()) ;
char [] tab = formatter.format(date) .toCharArray() ;
System.out.println(tab) ;
Pozyskaną informację o dacie, godzinie i będzie można zakodować w pojedynczej zmiennej typu long korzystając z kodowania używającego:
• 3 bajtów na zakodowanie roku,
• 4 bitów na zakodowanie miesiąca,
• 1 bajtów na zakodowanie dnia,
• 1 bajtów na zakodowanie godziny,
• 2 bajtów na zakodowanie minuty.
Zdefiniuj statyczną metodę toLong(char[]) ekstrahującą potrzebne dane z argumentu i zwracającą pojedynczą wartość long reprezentującą zakodowane bitowo informacje zgodnie z powyższym schematem. Następnie przygotuj metodę printMonth przyjmującą jako argumenty long date, opisujące datę w powyższym formacie. Uzupełnij ciało tej metody tak aby wyświetlała pełen miesiąc kalendarza, jak w przykładzie:
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24>25<26
27 28 29 30 31
(nawiasy ostre wskazują aktualny dzień).
Tutaj jak na razie próbuję to jakoś zaimplementować
import javafx.util.Pair;
import java.util.ArrayList;
public
class p1 {
public static void main(String[] args) {
java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date date = new java.util.Date(System.currentTimeMillis());
char[] tab = formatter.format(date).toCharArray();
System.out.println(tab);
}
}
static class toLong{
static long extract(int year, int month, int day, int hour, int minute) {
Pair<String, Integer> values_table = new values_table<>(
(year, 3);
(month, 4);
(day, 1);
(hour, 1);
(minute, 2);
);
}
static class printMonth{
}
}