| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3255 人关注过本帖
标题:[求助]用java实现整数转换为人民币金额大写的功能
只看楼主 加入收藏
chuchu1214
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-10-26
收藏
 问题点数:0 回复次数:10 
[求助]用java实现整数转换为人民币金额大写的功能

请各位高手帮我看一下编程题,谢谢!!!!
1 用java编码,实现整数转换为人民币金额大写的功能
a 金额为整数
b 假定金额不大于65536
c 数字0,1,2,3,4,5,6,7,8,9对应的人民币大写字符为零,一,二,三,四,五,六,七,八,九
d 金额单位为:元,十,百,千,万
2 用java编码,统计整数n以二进制数表示时,它包含的0的个数,例如n=10时,其二进制数1010包含的0的个数为2。

搜索更多相关主题的帖子: 人民币 java 整数 金额 
2006-10-26 20:57
xhdwell
Rank: 1
等 级:新手上路
帖 子:124
专家分:0
注 册:2006-5-15
收藏
得分:0 
这东西应该发到J2SE版面吧~~很好实现的~~

坚持自己的选择!向着理想迈出了第一步!
2006-10-27 12:19
水云天
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-8-14
收藏
得分:0 
public class In{
装化为
定义一个hastable 存值
用.next()取值
判定一下就行了
}
我也是新手 初学
2006-10-27 12:51
xhdwell
Rank: 1
等 级:新手上路
帖 子:124
专家分:0
注 册:2006-5-15
收藏
得分:0 
帮你做了下~~
import java.io.*;
public class MoneyTest {
private String money=null;
private String strmoney="";
public MoneyTest(String money){
this.money=money;
}
public String getTheRMB()
{
int moneylength=money.length();
int intmoney=0;
try{
intmoney=Integer.parseInt(money);
}catch(Exception e)
{
e.printStackTrace();
}
int lengthtemp=moneylength;
int intmoneytemp=intmoney;
String danwei=null;
String num=null;
if(check(moneylength, intmoney)){
while(lengthtemp>0)
{
int x=1;

for(int i=0;i<lengthtemp-1;i++)
{
x=x*10;
}
int h=intmoneytemp/x;
intmoneytemp=intmoneytemp%x;
switch(h)
{
case 1:num="一";break;
case 2:num="二";break;
case 3:num="三";break;
case 4:num="四";break;
case 5:num="五";break;
case 6:num="六";break;
case 7:num="七";break;
case 8:num="八";break;
case 9:num="九";break;
case 0:num="";break;
default :System.out.println("数字有问题!等等!");

}
switch(lengthtemp)
{
case 5 :danwei="万";break;
case 4 :danwei="千";break;
case 3 :danwei="百";break;
case 2 :danwei="十";break;
case 1 :danwei="元";break;
default:System.out.println("单位有问题!等等!");
}
strmoney=strmoney+num+danwei;
lengthtemp--;
}
return strmoney;
}
return null;
}
private boolean check(int moneylength, int intmoney) {
if(moneylength==0)
{
System.out.println("请输入金额!");
return false;
}else if(intmoney>65536)
{

System.out.println("您输入的金额太大,请输入正确的金额!");
return false;
}
return true;
}

/**
* @param args
*/
public static void main(String[] args) {
try{
System.out.print("请输入金额:");
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String money1=br.readLine();
MoneyTest mt=new MoneyTest(money1);
String RMB=mt.getTheRMB();
System.out.println("您输入的金额是“"+RMB+"”");
}catch(Exception e){
e.printStackTrace();
}
}

}

坚持自己的选择!向着理想迈出了第一步!
2006-10-27 19:55
xhdwell
Rank: 1
等 级:新手上路
帖 子:124
专家分:0
注 册:2006-5-15
收藏
得分:0 
没写注解!我想这么短的程序应该看的懂吧~

坚持自己的选择!向着理想迈出了第一步!
2006-10-27 19:56
chuchu1214
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-10-26
收藏
得分:0 

谢谢你的帮助

还有一个地方不明白
BufferedReader br=new BufferedReader(new InputStreamReader(System.in))这句话是什么意思,为什么要用BufferedReader类
另外还要请教你
拿这个题做例子,你能不能跟我说一下你的做题思路
说实话,我看到编程题,不知道从哪里入手
请高手指点,非常谢谢!!


2006-10-28 21:49
飘飘叶子
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:597
专家分:10
注 册:2005-8-17
收藏
得分:0 
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
这句话的意思就是从取得从控制台输入的东西。

其实我想说的是……4楼的程序,运行了一下,输入205,结果出来的答案是二百十五元……
我给重新写了一个,但还是有漏洞,如果需要我给帖一下好了

向着软件工程师的目标前进!
2006-10-28 22:10
chuchu1214
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-10-26
收藏
得分:0 
7楼的朋友你好:
要是有空的话,希望贴一下
顺便说一下,你们做题的思路,谢谢!!!

2006-10-29 18:53
asdex1999
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2006-7-31
收藏
得分:0 
ding

2006-10-30 09:22
飘飘叶子
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:597
专家分:10
注 册:2005-8-17
收藏
得分:0 
其实这题不是很难,首先分析一下题目,就是把数字转换为大写,然后就是在大写里加入单位,暂不考虑异常。
先写2个方法,这2个方法的作用一个就是换成大写,另一个就是加入单位,如果要考虑异常,就再加一个判断异常的方法。

具体实现,我的思路是先把数字字符串转换为char,然后把char传入到换成大写的方法里进行转换,转换成String[]的数组,再把数组传入加入单位的方法中,使用循环把单位给插入到数组中间,就完成了……

我做的那个在家里,现在在上班……

向着软件工程师的目标前进!
2006-10-30 09:54
快速回复:[求助]用java实现整数转换为人民币金额大写的功能
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013609 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved