JAVA请求计算n个自然数的和_java实现读入一个数n,计算其各位数字之和,用汉语拼音写出和的每一位数字...

今天看到一篇文章:【原始链接】

题目是“读入一个数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 

//求和

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


版权声明:本文为weixin_39971435原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。