今天在面试中遇到这样的题.麻烦哪位大神能帮吗解决一下!跪谢了
在函数execute中完成下面的功能: 参数amout是一个大于0的整数,最大值为99,类似:45
在函数中需要将amount转化为中文的描述,类似:四十五(按照日常惯例,例如14需要转化为“十四”,而不是“一十四”)
数字大写说明:一,二,三,四,五,六,七,八,九,十
100以内阿拉伯数字转化为汉字.
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
5条回答 默认 最新
- 奔腾的野马 2017-02-28 14:10关注
public class Test {
public static void main(String[] args) { int amout = 11; int amout2 = 20; int amout3 = 66; System.out.println(amout+":"+execute(amout)); System.out.println(amout2+":"+execute(amout2)); System.out.println(amout3+":"+execute(amout3)); } public static String execute(int amout){ String str =""; if(amout<0||amout>99){ str="不合法的数字"; }else if(amout>=1&&amout<=10){ str = cast(amout); }else if(amout>=11&&amout<=19){ int num = amout%10; str = "十"+cast(num); }else if(amout>=20&&amout<=99){ int num1 = amout/10%10; int num2 = amout%10; str = cast(num1)+"十"+cast(num2); } return str; } public static String cast(int num){ String str=""; switch(num){ case 0: str=""; break; case 1: str="一"; break; case 2: str="二"; break; case 3: str="三"; break; case 4: str="四"; break; case 5: str="五"; break; case 6: str="六"; break; case 7: str="七"; break; case 8: str="八"; break; case 9: str="九"; break; case 10: str="十"; break; } return str; }
}
程序运行结果:
11:十一
20:二十
66:六十六
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥100 Jenkins自动化部署—悬赏100元
- ¥15 关于#python#的问题:求帮写python代码
- ¥20 MATLAB画图图形出现上下震荡的线条
- ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
- ¥15 perl MISA分析p3_in脚本出错
- ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
- ¥15 ubuntu虚拟机打包apk错误
- ¥199 rust编程架构设计的方案 有偿
- ¥15 回答4f系统的像差计算
- ¥15 java如何提取出pdf里的文字?