pat甲级 1005 Spell It Right

题目:Given a non-negative integer N, your task is to compute the sum of all the digits of N, and output every digit of the sum in English.

给一个非负整数,你的任务是是计算数字n的每一位的和,然后用英语输出结果的每一位

non-negative:非负数

digits:位

输入格式:12345 N<10^100(所以使用string 不能使用int类型)

输出格式:one five(中间有空格)

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {

    public static void main(String[] args) {
         Scanner scanner = new Scanner(System.in);
         String a = scanner.next();
         char arr[] = a.toCharArray();
         List<Integer> list =new ArrayList<>();
         int sum=0;
         for(int i=0;i<arr.length;i++){
             sum = sum+arr[i]-48;
         }
         if(sum==0){//要考虑结果为0的情况
             System.out.print("zero");
         }
         while(sum!=0){
             int num = sum%10;
             list.add(num);
             sum = sum/10;
         }
         for(int i=list.size()-1;i>=0;i--){
             if(i==0) {
                 switch (list.get(i)) {
                     case 0:
                         System.out.print("zero");
                         continue;
                     case 1:
                         System.out.print("one");
                         continue;
                     case 2:
                         System.out.print("two");
                         continue;
                     case 3:
                         System.out.print("three");
                         continue;
                     case 4:
                         System.out.print("four");
                         continue;
                     case 5:
                         System.out.print("five");
                         continue;
                     case 6:
                         System.out.print("six");
                         continue;
                     case 7:
                         System.out.print("seven");
                         continue;
                     case 8:
                         System.out.print("eight");
                         continue;
                     case 9:
                         System.out.print("nine");
                         continue;
                 }
             }
             switch (list.get(i)){
                 case 0:
                     System.out.print("zero ");continue;
                 case 1:
                     System.out.print("one ");continue;
                 case 2:
                     System.out.print("two ");continue;
                 case 3:
                     System.out.print("three ");continue;
                     case 4:
                     System.out.print("four ");continue;
                 case 5:
                     System.out.print("five ");continue;
                 case 6:
                     System.out.print("six ");continue;
                 case 7:
                     System.out.print("seven ");continue;
                     case 8:
                     System.out.print("eight ");continue;
                 case 9:
                     System.out.print("nine ");continue;



             }
         }

    }
}

 

posted @ 2021-04-05 14:26  chenyuan#  阅读(42)  评论(0编辑  收藏  举报