1002 写出这个数 (20分)-Java
生活随笔
收集整理的這篇文章主要介紹了
1002 写出这个数 (20分)-Java
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目
讀入一個正整數 n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。
輸入格式:
每個測試輸入包含 1 個測試用例,即給出自然數 n 的值。這里保證 n 小于 10
?100。
輸出格式:
在一行內輸出 n 的各位數字之和的每一位,拼音數字間有 1 空格,但一行中最后一個拼音數字后沒有空格。
輸入樣例:
1234567890987654321123456789
輸出樣例:
yi san wu
代碼示例
import java.util.Scanner;/*** @Author zhanglifang* @create 2020-07-14 20:00*/ public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);String stringNum = in.nextLine();char[] chars = stringNum.toCharArray();int sum = 0;for (char item : chars) {// 用(int)item得到的ascII值,需減去48,例如char='0',(int)item得到的是48//或者使用Integer.parseInt("stringValue");sum = sum + Integer.parseInt(item + "");}String stringSum = sum + "";char[] cs = stringSum.toCharArray();String result = "";for (char c : cs) {result = result + num2hanzi(c) + " ";}result = result.substring(0,result.length()-1);System.out.println(result);}private static String num2hanzi(char c){if (c == '0'){return "ling";}else if (c == '1'){return "yi";}else if (c == '2'){return "er";}else if (c == '3'){return "san";}else if (c == '4'){return "si";}else if (c == '5'){return "wu";}else if (c == '6'){return "liu";}else if (c == '7'){return "qi";}else if (c == '8'){return "ba";}else {return "jiu";}} }思路總結
代碼中stringNum.toCharArray()得到的char[] chars數組里的元素,進行拼接操作時,我想到了兩種思路:
1)使用Integer.parseInt(“stringValue”);
2)用(int)item強轉得到的ascII值,需減去48,例如char=‘0’,(int)item得到的是48。
總結
以上是生活随笔為你收集整理的1002 写出这个数 (20分)-Java的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab平稳随机过程的功率谱密度,平
- 下一篇: 什么是JSON? 以及jackson的使