向开始学习语言的的同学们推荐下,如果你想学习语言的某个特性,比方说数据库编程,或者网络编程,最好找一个实用的例子,然后不懂的去翻书,去查资料,这样目的性就很强了,个人感觉比对着语法书敲上面的例子效率要搞很多。
废话不多写了,说说我这个人民币大写转换的具体实现吧。
1.写了个简单的界面,这个没什么要讲的,直接贴代码了,本片博客主要讲的是算法的实现。
Panel panel1=new Panel();
Panel panel2=new Panel();
Panel panel3=new Panel();
Label label1=new Label("Primitive money");
// label1.setFont(new Font("黑体",1,30));
TextField text1=new TextField(20);
Label label2=new Label("Big money");
//label2.setFont(new Font("黑体",1,30));
TextField text2=new TextField(20);
public RmbConvert()
{
initComponent();//面板初始化
}
private void initComponent()
{
setTitle("人民币大写转换");
setSize(345,216);
setLayout(new GridLayout(3,1));//设置为Grid布局
panel1.add(label1);
panel1.add(text1);
panel2.add(label2);
panel2.add(text2);
Button bt=new Button("Confirm");
panel3.add(bt);
add(panel1);
add(panel2);
add(panel3);
//添加事件监听器
bt.addActionListener(this);
text1.addActionListener(this);
addWindowListener(
new WindowAdapter()
{
public void windowClosing(WindowEvent evt)
{
System.exit(0);
}
}
);
}界面效果如下:
2.大写转换算法实现
定义要用到的数组
String[] digit={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
String[] segment={"圆","万","亿","万亿"};
String[] unit={"仟","佰","拾",""};
String[] cent={"角","分"};
获取输入字符的整数部分的转换
//保留两位有效数字
value=round(value,2);//round为自定义函数,非java.Math中的函数,