package rozwiazania_zadan.r1.z08_range;

public class Range {
	
	private static void wypiszLiczbyUp(int start, int koniec, int krok) {
		assert krok > 0; // tylko informacyjnie, to nie wpływa na działanie
		for(int i = start; i < koniec; i += krok) {
			System.out.print(i + " ");
		}
		System.out.println();
	}

	private static void wypiszLiczbyDown(int start, int koniec, int krok) {
		assert krok < 0; // tylko informacyjnie, to nie wpływa na działanie
		for(int i = start; i > koniec; i += krok) {
			System.out.print(i + " ");
		}
		System.out.println();
	}

	public static void main(String[] args) {
		// domyślne wartości w razie braku argumentów
		int start = 0;
		int koniec = 0;
		int krok = 1;
		
		if(args.length == 1) {
			koniec = Integer.parseInt(args[0]);
		}
		if(args.length >= 2) {
			start = Integer.parseInt(args[0]);
			koniec = Integer.parseInt(args[1]);
		}
		if(args.length >= 3) {
			krok = Integer.parseInt(args[2]);
		}
		
		System.out.println("Ustalone parametry: " + start+ ", " + koniec + ", " + krok);
		System.out.println();
		
		if(krok == 0) {
			System.out.println("krok nie może być równy 0");
		} else if(krok > 0) {
			wypiszLiczbyUp(start, koniec, krok);
		} else {
			wypiszLiczbyDown(start, koniec, krok);
		}
	}

}
