Java 计算数字各位数值之和并转化为拼音输出
问题描述:读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
示例:
输入:
1234567890987654321123456789
输出:
yi san wu
分析: 由于数值长度已经超出了int跟integer的范围,biginterger的操作又不怎么方便,因此我们采用字符串的形式接收,然后通过字符串的位运算将chae转化为int,进行加法。
import java.util.Scanner;
public class Main{public static void main(String[] args){Scanner s = new Scanner(System.in);String str = s.next();int sum = 0;//计算每一位之和for(int i=0;i<str.length();i++){//将每一个位置上的String值转化为intsum += Integer.parseInt(str.substring(i, i+1));}//在将和转化为字符串,方便操作每一位String string = String.valueOf(sum);for(int i=0;i<string.length();i++){//将每一个位置上的String值转化为intint x = Integer.parseInt(string.substring(i, i+1));if(x ==0)System.out.print("ling");if(x ==1)System.out.print("yi");if(x ==2)System.out.print("er");if(x ==3)System.out.print("san");if(x ==4)System.out.print("si");if(x ==5)System.out.print("wu");if(x ==6)System.out.print("liu");if(x ==7)System.out.print("qi");if(x ==8)System.out.print("ba");if(x ==9)System.out.print("jiu");//最后一个拼音后不加空格if(i != string.length()-1)System.out.print(" ");}}
}
不足之处:1、代码中Integer.parseInt(str.substring(i, i+1));应该用str.charAt(i) - '0';代替
2、应该用switch语句代替if判断加快程序执行效率( switch...case与if...else的根本区别在于,switch...case会生成一个跳转表来指示实际的case分支的地址,而这个跳转表的索引号与switch变量的值是相等的。从而,switch...case不用像if...else那样遍历条件分支直到命中条件,而只需访问对应索引号的表项从而到达定位分支的目的。)
Java 计算数字各位数值之和并转化为拼音输出相关推荐
- JAVA利用循环语句while计算数字1到100的和,并输出
package day04; import java.util.Scanner; public class Demo {public static void main(String[] args) { ...
- 从字符串中取出数字,并计算数字之和
2019独角兽企业重金招聘Python工程师标准>>> package test; import java.util.ArrayList; import java.util.List ...
- Java黑皮书课后题第7章:*7.11(统计:计算标准差)编程练习题5.45计算数字的标准差。本题…计算标准差,使用一个数组存储x的每个数。编写测试程序,提示用户输入10个数字,显示平均值和标准差
7.11(统计:计算标准差)编程练习题5.45计算数字的标准差.本题-计算标准差,使用一个数组存储x的每个数.编写测试程序,提示用户输入10个数字,显示平均值和标准差 题目 题目描述与运行示例 破题 ...
- Java黑皮书课后题第7章:**7.3(计算数字的出现次数)编写程序,读取1到100之间的整数,然后计算每个数出现的次数。假定输入0表示结束
7.3(计算数字的出现次数)编写程序,读取1到100之间的整数,然后计算每个数出现的次数 题目 题目描述+运行示例 破题 法一 法二 代码 法一:硬生生解出来 法二完整代码 题目 题目描述+运行示例 ...
- ##Java 将数字月份转化为英语月份
Java 将数字月份转化为英语月份 例如将数字 11月 转化为英语 November package ddd; // 例如将数字 11月 转化为英语 Novemberimport java.text. ...
- 使用do-while循环结构实现:计算1~50中是7的倍数的数值之和并输出
//使用do-while循环结构实现:计算1~50中是7的倍数的数值之和并输出 public class P113T3 { public static void main(String[] args) ...
- java电话键盘字母数字转换_用Java语言将一个键盘输入的数字转化成中文输出
用Java语言将一个键盘输入的数字转化成中文输出 将一个键盘输入的数字转化成中文输出(例如:输入:1234567 输出:一百二拾三万四千五百六拾七)用java语言实现,,请编一段... 将一个键盘输入 ...
- Java之——数字金额转化为英文金额
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/52599090 今天,给大家带来一篇基于Java将数字金额转化为英文金额的示例代码, ...
- 用Java求一个三位数,该三位数是与其每位数字的阶乘之和
题目:一个三位数,该三位数与其每位数字的阶乘之和 代码: public class TestSum {public static void main(String[] args) {int a, b, ...
最新文章
- 计算机视觉未来走向:视频理解等5大趋势详解
- 自己动手丰衣足食之 jQuery 数量加减插件
- postman安装和简单使用
- foreach lambda写法_Java8新特性之forEach+Lambda 表达式遍历Map和List
- 启航RPA卓越生态联盟,艺赛旗打造最强RPA产业生态圈...
- C++新特性探究(十八):智能指针
- css控制div显示/隐藏方法及2种方法比较原码[转]
- 安装Linux系统的一些问题记载
- SAS9.2安装及遇到的问题。安装时提醒Sas安装数据SID文件无效
- python读取nc出图_python读取nc文件
- opencv存取视频的编码格式 fourcc
- 软件开发成本评估怎么做?软件开发成本评估从哪些方面进行?
- 搜集的育儿电子书下载大全
- MP4之sample信息
- lamp兄弟连PHP视频教程 笔记心得
- Visio流程图模具:国标1526-89(V2.0.5)
- 分析称惠普赶走前任CEO赫德堪比苹果赶走乔布斯
- 查看本地IP和服务器端口
- linux下文件的total是啥,linux中,ls -l命令显示的total的含义。
- 【Linux】定时任务crontab和at命令详解
热门文章
- 技美 百人计划 (图形)1.1渲染流程
- 51cto——让梦飞翔
- C 求爱因斯坦数学题有一条长阶,若每步跨 2阶 ,则 最后剩 l阶,
- Translation Rule 和命中法则
- Translation Regime介绍
- 华为云前端一阶段HTML入门(常用标签 表格标签 表单)
- 人类数据总量_人类已产生五十亿GB数据 X一代贡献的数据总量最大
- 设置 IIS下虚拟目录或应用程序不继承主站点的web.config
- websocket菜鸟教程(1.1)
- CKH IOD选择通过CSG增强其数字批发和物联网客户体验