JAVA 数字转人民币大写

在写这个之前,老师出的,把阿拉伯数字转化为人民币大写

因为想的跟老师不一样,被老师BS了下,回到住处就把这个写出来

如果有问题,请提出

package com.joyleft.client;

public class MoneyUtil {
 
 private static final String[] NUMBERS={ "","壹", "贰", "叁", "肆", "伍", "陆",
       "柒", "捌", "玖" };
 private static final String[]  IUNIT = { "元", "拾", "佰", "仟", "万", "拾", "佰",
       "仟", "亿", "拾", "佰", "仟", "万", "拾", "佰", "仟" };

 private static final String[] DUNIT = { "角", "分" };
 private static final String TOTAL="整";
 
 /**
  * 转成数组
  * @param number
  */
 public int[] toArray(String number){
  
  char[]cn=number.toCharArray();
  int []num=new int[cn.length];
  for(int i=0;i<cn.length;i++)
  {
   num[i]=Integer.parseInt(String.valueOf(cn[i]));
  }
  return num;
 }
 
 public void toChinese(String number){
  String strInt="";
  String strFloat="";
  String StrNum="";
  if(number.indexOf(",")>0)
   number=number.replace(",", "");
   
  if(number.indexOf(".")>0){//是否有小数点
   strInt=number.substring(0,number.indexOf("."));
  
   strFloat=number.substring(number.indexOf(".")+1);
   
   strFloat=round(strFloat);
   
   if("100".equals(strFloat)){//四舍五入后小数位没有了
    StrNum=this.handleInteger(strInt,true);
    strFloat="";
   }else{
    StrNum=this.handleInteger(strInt,false)+handleDecimal(strFloat);
   }
   
  }else{
   System.out.println(number);
  }
  System.out.println(StrNum);
 }
 /**
  * 整数部分处理
  * @param number
  */
 public String handleInteger(String number,boolean b){
  String strNum="人民币:";
  int[] num=null;
  if("0".equals(number)){
   return strNum+"";
  }
  num=toArray(number);

  for(int i=0;i<num.length;i++){
   if(b&&i==num.length-1){
    num[i]=num[i]+1;
    
   }
   if(num[i]!=0){
    strNum=strNum+NUMBERS[num[i]]+IUNIT[num.length-i-1];
    
    }else{
      if(num.length-i==13)//万亿位为零 加万字
       strNum=strNum+NUMBERS[num[i]]+IUNIT[num.length-i-1];
      else if(num.length-i==9)//亿位为零 加亿字
       strNum=strNum+NUMBERS[num[i]]+IUNIT[num.length-i-1];
      else if(num.length-i==5)//万位为零 加万字
       strNum=strNum+NUMBERS[num[i]]+IUNIT[num.length-i-1];
      else if(num.length-i==1)
       strNum=strNum+NUMBERS[num[i]]+IUNIT[num.length-i-1]+TOTAL;
    }
   }
  return strNum;
 }
 /**
  * 小数部分处理
  * @param number
  */
 public String handleDecimal(String number){
  String strNum="";
  
  int[] num=toArray(number);

  for(int i=0;i<num.length;i++){
   
   if(num[i]!=0)
    strNum=strNum+NUMBERS[num[i]]+DUNIT[i];
   else
    strNum=strNum+NUMBERS[num[i]]+TOTAL;
  }
  return strNum;
 }
 /**
  * 四舍五入  保留两位
  * @param num
  */
 public String round(String number){
  String strNum="0."+number;
  float num=Float.parseFloat(strNum);
  int reNum=(int)num*1000%10;//取得千分位
  int intNum=0;
  
  if(reNum>=5){
   num=(num*100+1);
   intNum=(int)num;
  }else{
   
   intNum=(int)(num*100);
  }
  
  strNum=String.valueOf(intNum);
  if(strNum.length()==1)
   strNum="0"+strNum;
  return strNum;
 }
 /**
  * @param args
  */
 public static void main(String[] args) {
  new MoneyUtil().toChinese("3453845546430.200");
  new MoneyUtil().toChinese("0.99");
 
 }

}
结果

人民币:叁万肆仟伍佰叁拾捌亿肆仟伍佰伍拾肆万陆仟肆佰叁拾元整贰角整
人民币:玖角玖分
 

JAVA面试编程题

有4个彩色的立方体。立方体的6个面,每面都涂上了1种颜色。一共有4种颜色,蓝色(B),红色(R),绿色(G)和黄色(Y)。立方体的6个面称为前(front)、后(back)、左(left)、右(right)、上(top)、下(bottom)。

这4个立方体的颜色排列为:

编号    front    back     left     right    top     bottom

1       R      B        G      Y       B       Y

2       R      G        G      Y       B       B

3       Y      B        R      G       Y       R

4       Y      G        B      R       R       R

请将这4个立方体重叠摆放成为一个立柱,这个立柱有4个侧面,要求每个侧面都有4种颜色。

 

代码:

package com.joyleft.client;

public class ShowColor {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String[][] color={
                {"R","B","G","Y","B","Y"},
                {"R","G","G","Y","B","B"},
                {"Y","B","R","G","Y","R"},
                {"Y","G","B","R","R","R"},
        };
        int count=0;
        int AllCount=0;
        for (int i = 0; i < color[0].length; i++) {
            for (int j = 0; j < color[1].length; j++) {
                for (int j2 = 0; j2 < color[2].length; j2++) {
                    for (int k = 0; k < color[3].length; k++) {
                        if(!color[0][i].equals(color[1][j])&&!color[0][i].equals(color[2][j2])&&!color[0][i].equals(color[3][k])){
                            if(!color[1][j].equals(color[2][j2])&&!color[1][j].equals(color[3][k])){
                                if(!color[2][j2].equals(color[3][k])){
                                    System.out.println(count+1+":"+color[0][i]+" "+color[1][j]+" "+color[2][j2]+" "+color[3][k]);
                                    count++;
                                }
                            }
                        }       
                        AllCount++;
                    }
                }
            }
        }
    System.out.println("一共有"+count+"种方法");   
    System.out.println("一共执行了"+AllCount+"步");
    }

}

结果

一共有130种方法
一共执行了1296步

1:R G Y B
2:R G B Y
3:R G Y B
4:R G Y B
5:R G B Y
6:R G Y B
7:R Y B G
8:R Y G B
9:R B Y G
10:R B G Y
11:R B Y G
12:R B Y G
13:R B G Y
14:R B Y G
15:B R Y G
16:B R G Y
17:B R Y G
18:B G Y R
19:B G Y R
20:B G Y R
21:B G R Y
22:B G Y R
23:B G Y R
24:B G Y R
25:B G R Y
26:B G Y R
27:B G Y R
28:B G Y R
29:B G R Y
30:B G Y R
31:B G Y R
32:B G Y R
33:B G R Y
34:B Y R G
35:B Y G R
36:B Y G R
37:B Y G R
38:B Y R G
39:G R Y B
40:G R B Y
41:G R Y B
42:G Y B R
43:G Y B R
44:G Y B R
45:G Y R B
46:G Y R B
47:G B Y R
48:G B Y R
49:G B Y R
50:G B R Y
51:G B Y R
52:G B Y R
53:G B Y R
54:G B R Y
55:G B Y R
56:G B Y R
57:G B Y R
58:G B R Y
59:G B Y R
60:G B Y R
61:G B Y R
62:G B R Y
63:Y R B G
64:Y R G B
65:Y G B R
66:Y G B R
67:Y G B R
68:Y G R B
69:Y G R B
70:Y G B R
71:Y G B R
72:Y G B R
73:Y G R B
74:Y G R B
75:Y B R G
76:Y B G R
77:Y B G R
78:Y B G R
79:Y B R G
80:Y B R G
81:Y B G R
82:Y B G R
83:Y B G R
84:Y B R G
85:B R Y G
86:B R G Y
87:B R Y G
88:B G Y R
89:B G Y R
90:B G Y R
91:B G R Y
92:B G Y R
93:B G Y R
94:B G Y R
95:B G R Y
96:B G Y R
97:B G Y R
98:B G Y R
99:B G R Y
100:B G Y R
101:B G Y R
102:B G Y R
103:B G R Y
104:B Y R G
105:B Y G
R
106:B Y G R
107:B Y G R
108:B Y R G
109:Y R B G
110:Y R G B
111:Y G B R
112:Y G B R
113:Y G B R
114:Y G R B
115:Y G R B
116:Y G B R
117:Y G B R
118:Y G B R
119:Y G R B
120:Y G R B
121:Y B R G
122:Y B G R
123:Y B G R
124:Y B G R
125:Y B R G
126:Y B R G
127:Y B G R
128:Y B G R
129:Y B G R
130:Y B R G

如果不对 请提醒下我,谢谢

微笑计划

很多人都说我应该多笑些,哈哈,好像是很少笑。也许他们没看到我笑,也许我是心笑肉不笑。因为一次意外,一边的面部神经不怎么灵。现在很多人都开始觉得我不是一个开朗的人。但我真是一个开朗的,只是经历过一些事,加上面部神经问题。哈哈,为了笑,现在我得每天笑。让自己真正笑的自然。真的笑才是我想要的。。。

远足只为梦想

已经离开南昌有一些时间了,也没什么时间来写我的博客;本以为出去了就会有更多的时候来写却不知时间更少。换新地方有一周多时间,这里的生活不像家乡,吃不习惯,睡不习惯,很多都不习惯,却习惯着一个人。不过我过的还不错,各位朋友请不要为我担心。老规矩贴代码:

没事写的Pet超市小程序,还是初级,别笑话我。。我现在从基础学起,过些天会写些好玩的,大点的东西。期待吧…..

interface Pet{
    public String getName();
    public String getColor();
    public int getAge();
}
class Cat implements Pet{
    private String name;
    private String color;
    private int age;
    public Cat(String name,String color,int age){
        this.setName(name);
        this.setColor(color);
        this.setAge(age);
    }
    public void setName(String name){
        this.name=name;
    }
    public void setColor(String color){
        this.color=color;
    }
    public void setAge(int age){
        this.age=age;
    }
    public String getName(){
        return this.name;
    }
    public String getColor(){
        return this.color;
    }
    public int getAge(){
        return this.age;
    }

}
class Dog implements Pet{
    private String name;
    private String color;
    private int age;
    public Dog(String name,String color,int age){
        this.setName(name);
        this.setColor(color);
        this.setAge(age);
    }
    public void setName(String name){
        this.name=name;
    }
    public void setColor(String color){
        this.color=color;
    }
    public void setAge(int age){
        this.age=age;
    }
    public String getName(){
        return this.name;
    }
    public String getColor(){
        return this.color;
    }
    public int getAge(){
        return this.age;
    }
}
class PetShop
{
    private Pet[] pets;
    private int foot;
    public PetShop(int len){
        if(len>0){
            this.pets=new Pet[len];
        }else{
            this.pets=new Pet[1];
        }
    }
    public boolean add(Pet pet){
        if(this.foot<this.pets.length){
            this.pets[this.foot]=pet;
            this.foot++;
            return true;
        }else{
            return false;
        }
    }
    public Pet[] search(String keyWord){
        Pet p[] =null;
        int count=0;
        for(int i=0;i<this.pets.length;i++){
            if(this.pets[i]!=null){
                if(this.pets[i].getName().indexOf(keyWord)!=-1||this.pets[i].getColor().indexOf(keyWord)!=-1){
                    count++;
                }
            }
        }
        p=new Pet[count];
        int f=0;
        for(int i=0;i<this.pets.length;i++){
            if(this.pets[i]!=null){
                if(this.pets[i].getName().indexOf(keyWord)!=-1||this.pets[i].getColor().indexOf(keyWord)!=-1){
                    p[f]=this.pets[i];
                    f++;
                }
            }
        }
        return p;
    }
}
public class PetShopDemo{
    public static void main(String args[]){
        PetShop ps=new PetShop(5);
        ps.add(new Cat("白猫","白色的",6));
        ps.add(new Cat("黑猫","黑色的",3));
        ps.add(new Cat("灰猫","灰色的",4));
        ps.add(new Dog("金毛","金色的",1));
        ps.add(new Dog("黄狗","黄色的",3));
        ps.add(new Dog("白狗","白色的",2));
        print(ps.search("黄"));
        }
    public static void print(Pet p[]){
        for(int i=0;i<p.leng
th;i++){
            if(p[i]!=null){
                System.out.println(p[i].getName()+","+p[i].getColor()+","+p[i].getAge());
            }
        }
    }
}

江西安福洲湖镇水灾

这次江西大部分都发生了水灾,我学校本部所在的抚州更是一片汪洋。天灾是天灾,可人呢?

我也不在这里讨论他们的问题,当一天官请为农民想想吧。

以下是我家发大水的视频,前几一水已经退下去了。我刚刚从家里出来,天还大下大雨,下了一个晚上,现在已经涨水了。回县城的时候,发现县城也有好大的水。这天,不让人回学校了。祝灾区人民早日恢复起来吧。

江西省吉安市安福县发生3.0级地震-我家哦

据江西省地震台网测定,2010年5月20日03时54分(北京时间),在江西省吉安市安福县(震中位于北纬27.49度、东经114.73度)发生ML3.0级地震。震源深度7.3千米。

另外5月19日13时17分发生ML2.8级地震(北纬27.48,东经114.71),震源深度4.0千米,21时41分发生ML2.4级地震(北纬27.44,东经114.58),震源深度2.9千米。3次地震均有感。

 

我家也发生地震了,这不2012来了??

开博发一个帮大一小同学写的VB程序

 

小型测试系统
1.       小型测试系统的设计与实现要求能够生成20道数学计算题(要求有加,减,乘,除运算,规定操作数的个数),对用户结果进行判断,并能最终计算总成绩,要求用户在规定的时间内做完试题,超时自动终止并给出成绩。
2.       界面可以在已有基础上进行修饰,追求美观。
3.       用两种不同的代码编写程序
4.       谢谢
5.       非常感谢

 

大一的总是不好学,天天老学长帮忙写东西,然后学长又找我。。我这几天正好考试完,东西也做的差不多

正好有空,就帮忙写写完了 ,BLOG又要活起来了!

 

小型测试系统.rar

浩忍BLOG无限期关闭

告博友

因个人等原因BLOG关闭

目前还不清楚什么时候可以恢复,至少接下的一个月的时间里是不会再有更新。

当然我会经常光顾你们的BLOG的,如有问题与我联系

 

 

瞎折腾之东华理工大学查分中转站

很早的时候就说过东华理工大学不能向校外开放查分,其中的问题大家都可以知道。在这样的环境下,红门院落就开始了查分中转。每次查分中转都要人在学校里面才可以进行下去,所以很多次都查不了。问题产生了就要解决,解决的问题由谁来解决呢。看没人来解决,只有哥出手了。哥是一个要技术没技术,要能力没能力,在乱搞几周的时间里,最后还是没搞定。问题出现在这几个方面。第一,我本来是想写个采集器把学校的成绩采集下来,上传到服务器。这个是可行的,却忘了学校有几万人。每一个人的数据是10K(这里说的是采集网页,也只采集网页,学校不会给数据库密码给我们访问的),几万人下来,每年都在增加人数(这么多年下来,里面也差不多10万人口了),数据是相当的大。之后被几个人打击了,最后还是只能等学校来搞了。听说学校二三年后会上查分的外站,这样以后我们就可以直接用异步方法查询他们的数据了。也许只能这样了,对不起,红门的孩子,哥也是逼疯了。查分中转,我们叫我的人做下去的,下半年我就是要出去工作也要叫人支持到学校的查分系统出来。

这几天折腾累死了,对中转系统说拜拜吧,对红门院落说KO。。

瞎折腾之东华理工大学论坛红门院落

话说某人在东华理工大学论坛也就是红门院落论坛发了一个贴,说学校什么来着,然后被院长看到了,之后又书记看了。他们看了之后是相当的生气,相当,请大家注意,相当的。之后就又找了某院官人,官人很生气。之后又来找了导员,导员就来找班长,还来开会。之后就杯具的发生了论坛删贴删号,官人好像要查这事。搞的大家都吓的不行哈,真的早有红门高管被记大过。哎,这次真杯具了,希望别搞出事来了。之后,他们全去论坛删“反动言论”了。这次真的“华七七”了,相当的凄凉。

声明:我已经被实名了,也在学校处长那备案了。目前已经退出东华理工大学红门院落论坛,如有事请打我电话。