农行笔试编程题(Java)记录

记录农行暑期实习生Java编程题

(1)第一题:
火星人用三进制数表示数据,他们的数字符号:@、$、&这三个符号分别表示0、1、2。 现在输入一个十进制数,请把它用火星的三进制数表示出来。

例如:输入值:num = 123 输出值:"$$$&@"

public class Solution {
   
    public String triCoding(int num) {
   
        /*
        思路:1.输入十进制首先把十进制转换成三进制
             2.对得到的三进制数转换成String或者StringBuilder类型,进行火星文替换
         */

        //1.输入十进制首先把十进制转换成三进制
        int temp;
        int count = 1;
        int ref = 0;
        while(num != 0) {
   
            temp = num % 3;//十进制转三进制为十进制数除以3取余
            num = num / 3;
            ref = ref + temp * count;
            count *= 10;
        }

        //2.对得到的三进制数转换成String或者StringBuilder类型,进行火星文替换
        StringBuilder sb = new StringBuilder();
        sb.append(ref);
        for(int i = 0;i < sb.length();i++){
   
            if(sb.charAt(i) == '0'){
   
                sb.setCharAt(i,'@');
            }
            if(sb.charAt(i) == '1'){
   
                sb.setCharAt(i,'$');
            }
            if(sb.charAt(i) == '2'){
   
                sb.setCharAt(i,'&');
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值