[java练习]八、年号字串

这篇博客探讨了如何使用Java将数字转换为小明的字母表示法,例如2019转换为对应的字符串。博主通过问题描述、分析和解决代码详细解释了算法过程,利用StringBuilder动态构建字符串,并通过循环和字符映射完成转换。

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

问题描述

小明用字母 A 对应数字 1,B 对应 2,以此类推,用 Z 对应 26。对于 27 以上的数字,小明用两位或更长位的字符串来对应,例如 AA 对应 27,AB 对应 28,AZ 对应 52,LQ 对应 329。

请问 2019 对应的字符串是什么?


问题分析:

(1)这一题使用StringBuilder用来存储转换后的字符,因为StringBuilder可以用来存放可变字符。
(2)直接循环,知道n的值小于或者等于0,每次循环都-1是因为这个数是从1开始计算的,但是计算机是从0开始计算的,所以每一次都得-1,因为n/26的值也是从1开始的。
(3)使用append()方法把值强制转换成char类型存放到我们创建的对象里最后使用reverse()函数让字符颠倒,然后toString()方法输出


解决代码:

package com.exc.dayeleven;

public class ex2 {
    public static void main(String[]args)
    {
        int a=2019;
        StringBuilder sc=new StringBuilder();
        while (a>0) {
            a--;
            sc.append((char) (a % 26 + 'A'));
            a/=26;
        }
        System.out.println(sc.reverse().toString());
    }
}

运行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值