Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package demo;
- // convert number in range [0 ... 999] to string
- public class HelloJava {
- public static void main(String[] args) {
- int number = 511;
- int length = String.valueOf(number).length();
- String numberStr = convertNumberToString(number, length);
- System.out.println(numberStr);
- }
- public static String convertNumberToString(int number, int length) {
- String str = null;
- if (length == 1) {
- str = readSingleDigit(number);
- } else if (length == 2) {
- str = readDoubleDigit(number);
- } else {
- str = readTripleDigit(number);
- }
- return str;
- }
- public static String readSingleDigit(int num) {
- String str = null;
- switch (num) {
- case 0:
- str = "zero";
- break;
- case 1:
- str = "one";
- break;
- case 2:
- str = "two";
- break;
- case 3:
- str = "three";
- break;
- case 4:
- str = "four";
- break;
- case 5:
- str = "five";
- break;
- case 6:
- str = "six";
- break;
- case 7:
- str = "seven";
- break;
- case 8:
- str = "eight";
- break;
- case 9:
- str = "nine";
- break;
- }
- return str;
- }
- public static String readDoubleDigit(int num) {
- String str = null;
- if (num < 20) {
- switch (num) {
- case 10:
- str = "ten";
- break;
- case 11:
- str = "eleven";
- break;
- case 12:
- str = "twelve";
- break;
- case 13:
- str = "thirteen";
- break;
- case 14:
- str = "fourteen";
- break;
- case 15:
- str = "fifteen";
- break;
- case 16:
- str = "sixteen";
- break;
- case 17:
- str = "seventeen";
- break;
- case 18:
- str = "eighteen";
- break;
- case 19:
- str = "nineteen";
- break;
- }
- } else {
- switch (num / 10) {
- case 2:
- str = "twenty";
- break;
- case 3:
- str = "thirty";
- break;
- case 4:
- str = "fourty";
- break;
- case 5:
- str = "fifty";
- break;
- case 6:
- str = "sixty";
- break;
- case 7:
- str = "seventy";
- break;
- case 8:
- str = "eighty";
- break;
- case 9:
- str = "ninety";
- break;
- }
- int lastDigit = num % 10;
- if (lastDigit != 0) {
- str += " " + readSingleDigit(lastDigit);
- }
- }
- return str;
- }
- public static String readTripleDigit(int num) {
- String str = null;
- int firstDigit = num / 100;
- str = readSingleDigit(firstDigit);
- str += " hundred";
- int lastDigits = num % 100;
- if (lastDigits != 0) {
- str += " and ";
- if (lastDigits < 10) {
- str += readSingleDigit(lastDigits);
- } else {
- str += readDoubleDigit(lastDigits);
- }
- }
- return str;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement