今天看到一篇文章:【原始链接】
题目是“读入一个数n,计算其各位数字之和,用汉语拼音写出和的每一位数字”,是用c语言实现的。由于我目前正在学习java,所以想用java来实现下。
输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。
输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Int_to_String { public static void main(String[] args) { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); try { int sum = 0 ; String str = br.readLine(); //解决超出int类型问题。将字符串用字符数组装起来。 char[] ch = str.toCharArray(); for (int i = 0 ; i < ch.length ; i ++) { //求和 sum += new Integer(""+ch[i]).intValue(); } System.out.println(print_f(sum)); } catch (IOException e) { e.printStackTrace(); } finally { try { if (br != null) { br.close(); } } catch (IOException e) { e.printStackTrace(); } } } public static String print_f(int sum) { int k = 1; int m = sum; String str = ""; while (m >= 10) { k *= 10 ; m /= 10; } while(k != 0) { str += int_to_String(sum / k)+" "; sum %= k; k /= 10; } return str.substring(0, str.length()-1); } //转换 public static String int_to_String(int n) { String ss = ""; switch (n) { case 0: ss = "ling"; break; case 1: ss = "yi"; break; case 2: ss = "er"; break; case 3: ss = "san"; break; case 4: ss = "si"; break; case 5: ss = "wu"; break; case 6: ss = "liu"; break; case 7: ss = "qi"; break; case 8: ss = "ba"; break; case 9: ss = "jiu"; break; default: break; } return ss; } }
本文出自 “橙子的成长记录” 博客,请务必保留此出处http://azhome.blog.51cto.com/9306775/1546766
java实现读入一个数n,计算其各位数字之和,用汉语拼音写出和的每一位数字
原文地址:http://azhome.blog.51cto.com/9306775/1546766