Co się dzieje w linijce "Integer.parseInt(args[0])"?

0
public static void main(String[] args) {
	        LocalDate date = LocalDate.now().withDayOfMonth(1);
	        int month;
	        if (args.length >= 2) {        
	            month = Integer.parseInt(args[0]);
	            int year = Integer.parseInt(args[1]); 
	            date = LocalDate.of(year, month, 1);

Co się dzieje w momencie "Integer.parseInt(args[0])", zupełnie tego nie rozumiem. Co się tutaj wyprawia?

0

W klasie Integer jest funkcja, która na wejściu bierze String i zwraca taki sam Integer, czyli Integer o "wartości" tego Stringa, np.:
parseInt("2") // -> 2, type(2) -> int
Jak Dasz na wejściu coś co nie może być liczbą, np.: "A", to Dostaniesz Runtime error.
Edit: Dokładnie coś co nie może być integerem, np.: 1000000000000, to trzeba spasować do longa: Long.parseLong(x).

0

Dzięki za szybką odp, a co się dzieje w tym momencie "args[0]"?

0

Pobierasz pierwszy element (o indeksie 0) tablicy args, która przechowuje stringi. Tablica ta zapełniona jest parametrami podanymi w trakcie uruchamiania programu.

0

Tak jak napisał chemik ("chemik ma być wolny s...synu" :)); w tablicy args są te rzeczy, które podajesz w linii komend za nazwą programu, np. (załóżmy, że program ma nazwę main):
$>java main 2 3
args = [2, 3]
Program może sobie teraz dowolnie z tej tablicy korzystać.

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