我是一个菜鸟,对编程问题还不是很熟练,现在本人就遇到一个问题不会做:
我只是写了一小部分的代码,:
题目是:银行叫号程序中需要将排队的编号(假设最大为999)转化为对应的汉字,如128转为一百二十八号, 101-一百零一号,10-十号,100-一百号。
 方法原型:  String getHao(int id)give me help !!!我很急的,可以帮我写出一个完整的代码,让我想想到底自己出错的问题,在此谢谢大家!!!

解决方案 »

  1.   

    getHao 
      

  2.   

    http://zhidao.baidu.com/question/59271130.html
    这有一个
      

  3.   

    没有系统的想,你先救救急。我也是菜鸟一个,咱们同病相怜,别怕嘲笑。public class MyTest { /**
     * @param args
     */
    public static void main(String[] args) {
    MyTest mt = new MyTest();
    System.out.println(mt.getHao(10)); }



    public String getHao(int id){

    int bai = 0;
    int shi = 0;
    int ge = 0;
    String numString = "";

    if(id==0){
    return "零号";
    }

    bai = id/100;
    shi = (id-100*bai)/10;
    ge = id-100*bai-10*shi;

    if(bai!=0){
    numString += getCNNum(bai)+"百";
    }
    if(shi!=0){
    if(bai==0 && shi==1){
    numString += "十";
    }else{
    numString += getCNNum(shi)+"十";
    }
    }
    if(bai!=0 && shi==0){
    if(ge!=0)
    numString += "零";
    else
    numString += "";
    }

    if(ge!=0){
    numString += getCNNum(ge);
    }
    numString +="号";

    return numString;
    }

    public String getCNNum(int i){
    switch (i) {
    case 1:return "一";
    case 2:return "二";
    case 3:return "三";
    case 4:return "四";
    case 5:return "五";
    case 6:return "六";
    case 7:return "七";
    case 8:return "八";
    case 9:return "九";
    default:return "";
    }

    }}