一個讓人愛恨交織的java面試題

這個題目就是那個金額轉換的題目了,這個題目是這樣描述的:


金額轉換,阿拉伯數字的金額轉換成中國傳統的的形式如:(1010轉換的結果是一千零一拾一元整)


這個題主要考察StringBuffer中insert函數的使用以及一小點邏輯思維能力,難點主要在insert函數的巧妙使用,來看看下面這段代碼,就會恍然大悟覺得其實題目根本就不困


package org.lxh;
public class MoneyConvert {
    char[] unit={'元','拾','百','千','萬','十','百','千','億'};
    char[] data={'零','壹','貳','叄','肆','伍','陸','柒','捌','玖'};
                                                                                                                                         
    public  String convert(int money){
        StringBuffer buf=new StringBuffer();
        int i=0;
                                                                                                                                             
        while(money!=0){
                                                                                                                                                 
            //下面這四句是最關鍵的代碼
            buf.insert(0, unit[i++]);
            int tem=money%10;
            buf.insert(0, data[tem]);
            money=money/10;
        }
        return buf.toString();
    }
}


下面再來看一個題目,這個題目其實很簡單完全就考察基礎功,這個題目就是數組的反轉,代碼如下,我相信這個寫不出來的話面試的人會很懷疑。代碼如下:


package org.lxh;
public class ReverseArray {
    public static void main(String[] args) {
        int[] arr={20,30,56,78,89,45,56,99};
        int len=arr.length;
        for(int i=0;i<len/2;i++){
            int temp=0;
            temp=arr[i];
            arr[i]=arr[len-1-i];
            arr[len-1-i]=temp;
        }
        for(int i=0;i<arr.length;i++){
            System.out.println(arr[i]);
        }
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章