对最后一个字母进行+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]);
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!