Quick actions

cmd+k|ctrl+k

Navigation

Languages

17

Snippet info

Language

Java

Visibility

public

Author

weastie

Created

2016-03-07T18:26:35Z

Updated

2016-03-07T21:41:46Z

import java.util.ArrayList;

class Main {
    public static void main(String[] args) {
        long sum = 0;
        for (int x = 1; x <= 1000; x++) {
            sum += numberToWord(x).length();
        }
        System.out.println(sum);
    }
    static String numberToWord(int num) {
        if (num == 1000) {
            return "onethousand";
        }
        ArrayList<Integer> ints = new ArrayList<Integer>();
        int hundredsplace = (int)(num/100);
        int tensplace = (int)((num-hundredsplace*100)/10);
        int single = num-hundredsplace*100-tensplace*10;
        ints.add(single);
        ints.add(tensplace);
        ints.add(hundredsplace);

        String finalString = "";
        
        String[] numbers1 = {"","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"};
        String[] numbers2 = {"twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety"};
        
        if (ints.get(2) > 0) {
            finalString += numbers1[ints.get(2)] + "hundred";
            if (ints.get(1) > 0 || ints.get(0) > 0) {
                finalString += "and";
            }
        }
       
        if (ints.get(1) >= 2) {
            finalString += numbers2[ints.get(1)-2] + numbers1[ints.get(0)];
        }else{
            if (ints.get(1) == 1) {
                finalString += numbers1[ints.get(1)*10+ints.get(0)];
            }else{
                if (ints.get(0) > 0) {
                    finalString += numbers1[ints.get(0)];
                }
            }
        }
        return finalString;
    }
}
INFO