Siemanko mógłby ktoś rzucić oknem jak to objętościowo zmniejszyć, uprościć kod? Będę wdzięczny: )
package ZadaniaPROG;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int num, j, n, d, s, t;
int x = 0;
String[] jedności = {"jeden", "dwa", "trzy", "cztery", "pieć", "sześć", "siedem", "osiem", "dziewięć"};
String[] nastki = {"dziesięć", "jedenaście", "dwanaście", "trzynaście", "czternaście", "piętnaście", "szesnaście", "siedemnaście", "osiemnaście", "dziewiętnaście"};
String[] dziesiątki = {"dziesięć", "dwadziescia", "trzydzieści", "czterdzieści", "pięćdziesiąt", "sześciedziąt", "siedemdziesiąt", "osiemdziesiąt", "dziewięćdziesiąt"};
String[] setki = {"sto", "dwieście", "trzysta", "czterysta", "pięćset", "sześćset", "siedemset", "osiemset", "dziewięcset"};
String[] tysiące = {"tysiąc", "tysiące", "tysięcy"};
System.out.println("Program konwertuje liczby na słowa");
System.out.println("Wpisz liczbę:");
Scanner scan = new Scanner(System.in);
num = scan.nextInt();
do {
if ((num >= 1) && (num <= 9)) {
System.out.println("Liczba słownie :" + " " + jedności[num - 1]);
} else if (num == 0) {
System.out.println("zero");
} else if ((num >= 10) && (num <= 19)) {
n = num % 10;
System.out.println("Liczba słownie :" + " " + nastki[n]);
} else if (num >= 20 && num <= 99) {
d = num % 100 / 10 - 1;
j = num % 10 - 1;
System.out.println("Liczba słownie:" + " " + dziesiątki[d] + " " + jedności[j]);
} else if (num >= 100 && num <= 999) {
s = num / 100 - 1;
d = num % 100 / 10 - 1;
j = num % 10 - 1;
System.out.println("Liczba słownie:" + " " + setki[s] + " " + dziesiątki[d] + " " + jedności[j]);
} else if (num >= 1000 && num <= 9999) {
t = num / 1000;
s = num % 1000 / 100 - 1;
d = num % 100 / 10 - 1;
j = num % 10 - 1;
if (t == 1)
System.out.println("Liczba słownie:" + tysiące[0] + " " + setki[s] + " " + dziesiątki[d] + " " + jedności[j]);
else if (t >= 2 && t <= 4) {
System.out.println("Liczba słownie:" + jedności[t - 1] + " " + tysiące[1] + " " + setki[s] + " " + dziesiątki[d] + " " + jedności[j]);
} else if (t >= 6 && t <= 9) {
System.out.println("Liczba słownie:" + jedności[t - 1] + " " + tysiące[2] + " " + setki[s] + " " + dziesiątki[d] + " " + jedności[j]);
}
}
System.out.println("Wpisz liczbę:");
num = scan.nextInt();
}
while (x < 10);
}
}