面试题目,金融行业交易金额小写转换为大写的方法,我写的几个版本
2017-03-12 00:27
417 查看
看到知乎上有人晒出了自己面腾讯的面经,有一道题目跟我碰到过的题目很像,突然想写写试一下;这道题目是:写金融行业交易金额小写转换为大写的方法,如1234元转换为壹仟贰佰叁拾肆圆。
我当时想起以前看递归算法时看到过的一个例子,依次输出一个整数的各位数字,写了如下几个版本,感觉挺有意思,贴出来。
package com.mjq.test1;
/**
* 测试 金融行业经常需要将交易金额转换为大写,如9999元 转换为 玖仟玖佰玖拾玖圆 需要写一个方法完成这个功能,想起看过一个递归的例子依次输出数字的每一位
* 但是我写出了如下几个版本,试分析哪个是正确的?
* @author Administrator
*
*/
public class test1 {
public static void main(String [] args)
{
convertor2(1234455666);
//System.out.println(1.2%0.1);
}
public static void convertor(int num)
{
if(num>10)
{
int a = num%10;
System.out.println("最低位是:"+a);
int b = num/10;
convertor(b);
}
else
{
System.out.println("最低位是:"+num);
}
}
public static void convertor1(int num)
{
if(num>10)
{
int a = num%10;
System.out.println("最低位是:"+a);
int b = num/10;
convertor1(b);
return;
}
System.out.println("最低位是:"+num);
}
public static void convertor2(int num)
{
if(num>10)
{
int a = num%10;
System.out.println("最低位是:"+a);
int b = num/10;
convertor1(b);
}
System.out.println("最低位是:"+num);
}
}
正确的方法,运行结果如下:
我当时想起以前看递归算法时看到过的一个例子,依次输出一个整数的各位数字,写了如下几个版本,感觉挺有意思,贴出来。
package com.mjq.test1;
/**
* 测试 金融行业经常需要将交易金额转换为大写,如9999元 转换为 玖仟玖佰玖拾玖圆 需要写一个方法完成这个功能,想起看过一个递归的例子依次输出数字的每一位
* 但是我写出了如下几个版本,试分析哪个是正确的?
* @author Administrator
*
*/
public class test1 {
public static void main(String [] args)
{
convertor2(1234455666);
//System.out.println(1.2%0.1);
}
public static void convertor(int num)
{
if(num>10)
{
int a = num%10;
System.out.println("最低位是:"+a);
int b = num/10;
convertor(b);
}
else
{
System.out.println("最低位是:"+num);
}
}
public static void convertor1(int num)
{
if(num>10)
{
int a = num%10;
System.out.println("最低位是:"+a);
int b = num/10;
convertor1(b);
return;
}
System.out.println("最低位是:"+num);
}
public static void convertor2(int num)
{
if(num>10)
{
int a = num%10;
System.out.println("最低位是:"+a);
int b = num/10;
convertor1(b);
}
System.out.println("最低位是:"+num);
}
}
正确的方法,运行结果如下:
相关文章推荐
- C#实现将商品金额小写转换成大写的方法
- C#实现小写金额转换大写的方法
- 【SQL】Oracle实现小写金额转换成大写的方法
- Oracle实现小写金额转换成大写的方法
- 将小写金额转换成中文大写金额的方法
- 小写金额转换成中文大写金额
- java实现小写金额转换大写金额
- .NET把小写数字金额转换成大写人民币金额的两种算法
- 将小写数字金额转换为大写得金额
- C#中将小写金额转换为大写金额
- 将小写金额转换为中文大写的SQL函数
- 将小写金额转换成为大写
- js小写金额转换大写
- jscript实现的客户端小写金额转换成人民币大写金额(最大千万元位)
- 小写金额转换为大写
- C#金额小写转换为大写
- 将小写金额转换成大写
- 将小写金额转换成人民币大写金额
- MSSql 自定义函数实现小写金额转换成大写(最高13位不包括小数点后两位)
- 将小写金额转换成为大写