pat1002
题目网址:https://pintia.cn/problem-sets/994805260223102976/problems/994805324509200384:
题目描述:
写出这个数 :
读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:
每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10100。
输出格式:
在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。
输入样例:
1234567890987654321123456789
输出样例:
yi san wu
解题思路:
1.因为题目给出数值在10的100次方,因此用string来储存
2.给定一个数num,定义其初始值为0
计算num=输入字符串的每一个字符相加的值
4.定义sum返回num的原始值,并给output赋值拼音
计算num=sum的字符逐字相加
5.如果i不等于0,输入“ ”(空格),在输入num对应的拼音(实现每一个数字见得空格,并实现最后一个没有空格)
程序:
import java.util.Scanner;
public class Main {
public static void main(String[] args) { //用string存储
Scanner input = new Scanner(System.in);
String str = input.nextLine(); //输入字符串
int num = 0; //令num为0
for (int i = 0; i < str.length(); i++) {
num += str.charAt(i) - '0'; //实现字符值相加
}
String sum = String.valueOf(num); //赋值num给新定义的sum
String[] output = {"ling","yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"}; //给output赋值拼音
for (int i = 0; i < sum.length(); i++) {
num = sum.charAt(i) - '0'; //sum的字符逐渐相加
if (i != 0)
System.out.print(" "); //输入空格,并保证最后一个字符没有空格
System.out.print(output[num]); //输出拼音表示的数字之和
}
}
}
来源:CSDN
作者:little_meng
链接:https://blog.csdn.net/little_meng/article/details/104269045