将字符串中的最后一个字母替换成字母的下一个字母,

比如“ABCDE”,返回“ABCDF”,“”“ABCDZ”返回“ABCEA”

对最后一个字母进行+1后拼接,对Z的情况判断一下。

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        System.out.println("输入字符串:");
        String str=in.next();
        char lest=str.charAt(str.length()-1);
        if (lest == 'Z') {
            str=str.substring(0,str.length()-2)+(char)(str.charAt(str.length()-2)+1)+"A";
        } else if (lest== 'z') {
            str=str.substring(0,str.length()-2)+(char)(str.charAt(str.length()-2)+1)+"a";
        }else{
            str=str.substring(0,str.length()-1)+(char)(lest+1);
        }
        System.out.println(str);
    }
}

先找到最后一个字符,然后ASCII码加1,如果是Z则变为A

操作字母考虑ascii码

public static void main(String[] args) {
    String s="YZVZZ";
    char[] sc=s.toCharArray();
    sc[sc.length-1]=(char)((int)sc[sc.length-1]+1);
    for (int i = sc.length; i >=1; i--) {
        if ((int)sc[i-1]==91) {
            sc[i-1]='A';
            if((i-1)!=0){
                sc[i-2]=(char)((int)sc[i-2]+1);
            }
        }
    }
    if("AAAAA".equals(""+(char)sc[0]+(char)sc[1]+(char)sc[2]+(char)sc[3]+(char)sc[4]))
    {
        System.out.println("生成失败");
    }
    System.out.println(""+(char)sc[0]+(char)sc[1]+(char)sc[2]+(char)sc[3]+(char)sc[4]);
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632