一个让人爱恨交织的java面试题

本文介绍了一种将阿拉伯数字转换为中国传统金额形式的方法,并提供了一个简单的数组反转示例。金额转换通过使用 StringBuffer 的 insert 方法完成,而数组反转则通过基本的循环交换元素实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个题目就是那个金额转换的题目了,这个题目是这样描述的:


金额转换,阿拉伯数字的金额转换成中国传统的的形式如:(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]);
        }
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值