Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- import java.util.Scanner;
- public class NumberToWordConverter {
- public static void main(String[] args) {
- int number = 0;
- Scanner scanner = new Scanner(System.in);
- System.out.println("Ketik angkanya(max 9 digits doang)");
- try {
- // baca nomornya
- number = scanner.nextInt();
- if (number == 0) {
- System.out.print("Angka ke Kata: Nol");
- } else {
- System.out.print("Angka ke Kata: " + numberToWord(number));
- }
- } catch (Exception e) {
- System.out.println("Please enter a valid number");
- }
- // tutup membaca nomor
- scanner.close();
- }
- private static String numberToWord(int number) {
- // variabel untuk menahan representasi string angka
- String words = "";
- String unitsArray[] = { "zero", "satu", "dua", "tiga", "empat", "lima", "enam",
- "tujuh", "delapan", "sembilan", "sepuluh", "sebelas", "duabelas",
- "tigabelas", "empatbelas", "limabelas", "enambelas", "tujuhbelas",
- "delapanbelas", "sembilanbelas" };
- String tensArray[] = { "zero", "sepuluh", "duapuluh", "tigapuluh", "empatpuluh", "limapuluh",
- "enampuluh", "tujuhpuluh", "delapanpuluh", "sembilanpuluh" };
- if (number == 0) {
- return "zero";
- }
- // tambahkan minus sebelum konversi jika jumlahnya kurang dari 0
- if (number < 0) { // convert the number to a string
- String numberStr = "" + number;
- // hapus minus sebelum nomor tersebut
- numberStr = numberStr.substring(1);
- // tambahkan minus sebelum nomor dan konversi sisa nomor
- return "minus " + numberToWord(Integer.parseInt(numberStr));
- }
- // periksa apakah jumlahnya dapat dibagi 1 juta
- if ((number / 1000000) > 0) {
- words += numberToWord(number / 1000000) + " juta ";
- number %= 1000000;
- }
- // periksa apakah jumlahnya habis dibagi 1 ribu
- if ((number / 1000) > 0) {
- words += numberToWord(number / 1000) + " ribu ";
- number %= 1000;
- }
- // periksa apakah jumlahnya habis dibagi seratus
- if ((number / 100) > 0) {
- words += numberToWord(number / 100) + " ratus ";
- number %= 100;
- }
- if (number > 0) {
- // periksa apakah jumlahnya habis dibagi belasan
- if (number < 20) {
- // ambil nilai yang sesuai dari unit array
- words += unitsArray[number];
- } else {
- // ambil nilai yang sesuai dari puluhan array
- words += tensArray[number / 10];
- if ((number % 10) > 0) {
- words += "-" + unitsArray[number % 10];
- }
- }
- }
- return words;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement