牛客网编程练习之PAT乙级(Basic Level):1034 写出这个数

AC代码:
import java.util.*; /**
* @author CC11001100
*/
public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
System.out.println(toPinYin(sum(s))); } private static int sum(String s){
int res = 0;
for(int i=0; i<s.length(); i++){
res += s.charAt(i) - '0';
}
return res;
} private static Map<Integer, String> map = new HashMap<>(); static{
map.put(0, "ling");
map.put(1, "yi");
map.put(2, "er");
map.put(3, "san");
map.put(4, "si");
map.put(5, "wu");
map.put(6, "liu");
map.put(7, "qi");
map.put(8, "ba");
map.put(9, "jiu");
} private static String toPinYin(int n){
if(n<=9) return map.get(n);
else return toPinYin(n/10) + " " + map.get(n % 10);
} }
或者可以使用数组下标来对应,就不用map了,也是能够随机访问取到:
import java.util.*; /**
* @author CC11001100
*/
public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
System.out.println(toPinYin(sum(s))); } private static int sum(String s){
int res = 0;
for(int i=0; i<s.length(); i++){
res += s.charAt(i) - '0';
}
return res;
} private static String[] mapping = new String[]{"ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu" }; private static String toPinYin(int n){
if(n<=9) return mapping[n];
else return toPinYin(n/10) + " " + mapping[n%10];
} }
题目来源: https://www.nowcoder.com/pat/2/problem/4068
.
牛客网编程练习之PAT乙级(Basic Level):1034 写出这个数的更多相关文章
- 牛客网编程练习之PAT乙级(Basic Level):1033 害死人不偿命的(3n+1)猜想
3n+1水题.... AC代码: import java.util.Scanner; /** * @author CC11001100 */ public class Main { public st ...
- 牛客网编程练习之PAT乙级(Basic Level):1032 选大王
典型的约瑟夫环问题 AC代码: import java.util.ArrayList; import java.util.List; import java.util.Scanner; /** * @ ...
- 牛客网编程练习之PAT乙级(Basic Level):1041 说反话
直接分隔取反即可 AC代码: import java.util.Scanner; /** * @author CC11001100 */ public class Main { public stat ...
- PAT乙级真题1002. 写出这个数 (20)(解题)
读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10100. 输出格式:在一行内输出n的各位数字之和的每 ...
- PAT (Basic Level) 1002. 写出这个数 (20)
读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10100. 输出格式:在一行内输出n的各位数字之和的每 ...
- PAT (Basic Level) Practise - 写出这个数
题目链接:https://www.patest.cn/contests/pat-b-practise/1002 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式:每个测试 ...
- C#版 - PAT乙级(Basic Level)真题 之 1021.个位数统计 - 题解
版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. C#版 - P ...
- C#版 - PAT乙级(Basic Level)真题 之 1024.科学计数法转化为普通数字 - 题解
版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. PAT Bas ...
- PAT乙级(Basic Level)练习题-NowCoder数列总结
题目描述 NowCoder最近在研究一个数列: F(0) = 7 F(1) = 11 F(n) = F(n-1) + F(n-2) (n≥2) 他称之为NowCoder数列.请你帮忙确认一下数列中第n ...
随机推荐
- Java Class文件格式详解
magic[4字节] 魔数,用来判断是否可以被虚拟机使用.固定值为0xCAFEBABE(咖啡宝贝)minor_version[2字节] 次版本号major_version[2字节] 主版本号,低版本的 ...
- JavaScript是如何面向对象的
一.引言 在16年的10月份,在校内双选会找前端实习的时候,hr问了一个问题:JavaScript的面向对象理解吗?我张口就说"JavaScript是基于原型的!".然后就没什么好 ...
- vue.js初识(一)
一 什么是vue? Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层,不 ...
- Javascript闭包(Closure)
1.Javascript特殊的变量作用域.变量的作用域无非就是两种:全局变量和局部变量.Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量. function f1() { var ...
- RPC服务和HTTP服务
很长时间以来都没有怎么好好搞清楚RPC(即Remote Procedure Call,远程过程调用)和HTTP调用的区别,不都是写一个服务然后在客户端调用么?这里请允许我迷之一笑~Naive!本文简单 ...
- innerText、innerHtml与value
1.innerText是id为object的闭合标签内的文本,输入输出的是转义文本(字符串); (label控件用innerText有效)2.innerHtml是<div>标签内的文本, ...
- [LeetCode] Construct Binary Tree from String 从字符串创建二叉树
You need to construct a binary tree from a string consisting of parenthesis and integers. The whole ...
- Centos6.9连接工具设置
由于vm下面的centos6.9这种操作环境非常的不友好,用起来非常的不方便, 所以我们需要用一个远程连接工具来连接,我们的虚拟机.我们使用的是teraterm. 下载地址:https://osdn. ...
- 【HNOI2017】影魔
题目描述 影魔,奈文摩尔,据说有着一个诗人的灵魂.事实上,他吞噬的诗人灵魂早已成千上万.千百年来,他收集了各式各样的灵魂,包括诗人.牧师.帝王.乞丐.奴隶.罪人,当然,还有英雄. 每一个灵魂,都有着自 ...
- 【NOIP2016】天天爱跑步
题目描述 小c同学认为跑步非常有趣,于是决定制作一款叫做<天天爱跑步>的游戏.«天天爱跑步»是一个养成类游戏,需要玩家每天按时上线,完成打卡任务. 这个游戏的地图可以看作一一棵包含 个结点 ...