java中怎样将字母后移一位呀? 比如x后移的得到y

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中怎样将字母后移一位呀? 比如x后移的得到y相关的知识,希望对你有一定的参考价值。

这个涉及 ASCII 编码,每个字母都对应一个数字,比如 ‘A’ 的 ASCII 码是 65,而 ‘a‘ 的 ASCII 码是 97 。你可以在网上搜索“ASCII 码表”

在 ASCII 编码中,'x' 的 ASCII 码正好比 'y' 小 1 ,所以:

char c1 = 'x';
char c2 = c1 + 1; // 'y'

就可以了,在 Java 中 char 就是一个整数追问

不行啊 它说不能将char 转换成 int

追答

哦,我写错了,还得加上类型转换:

char c2 = (char)(c1 + 1);

参考技术A 可以把字母放到一个数组里面 这样就很简单了
char[] ch='a','b',.....追问

可以具体点吗?
我这里有一段程序
if(Character.isUpperCase(s[i]))
s[i]=Character.toLowerCase(s[i])+1;

就是将是s[i]变成小写再后移一位 该怎么弄

追答

先查找是第几个,然后获取下一个吧

c语言编写程序,使输入的字符按字母表后移一位。 如:输入s,输出t; 输入S,输出为T。

参考技术A 问题不完整,如果输入z,那输出什么啊,是输出a ,还是提示错误啊 ,若是前者
#include<stdio.h>
int main()

char c;
scanf("%c",&c);
if (c=='z',||c=='Z')
printf("%c\n",c-26);
else printf("%c\n",c+1);

后者你自己应该会处理了吧本回答被提问者采纳
参考技术B 把s转换成ASCII码,自加1,再转换成字符就可以了 参考技术C #include<stdio.h>
main()

char c;
scanf("%c",&c);
printf("%c\n",c+1);


运行过了,正确的!

以上是关于java中怎样将字母后移一位呀? 比如x后移的得到y的主要内容,如果未能解决你的问题,请参考以下文章

pycharm里怎样选中多行集体空格后移

应用程序在模拟器中运行,但在设备上运行后移除堆栈 x/y 约束

Peaceful Rooks CodeForces

UVa 1584 Circular Sequence(环形串最小字典序)

java实现有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数

反转单向链表