Ran*_*Rag 35
String str = "abcdef";
char[] ch = str.toCharArray();
for(char c : ch){
int temp = (int)c;
int temp_integer = 96; //for lower case
if(temp<=122 & temp>=97)
System.out.print(temp-temp_integer);
}
Run Code Online (Sandbox Code Playgroud)
输出:
123456
@Shiki for Capital/UpperCase字母使用以下代码:
String str = "DEFGHI";
char[] ch = str.toCharArray();
for(char c : ch){
int temp = (int)c;
int temp_integer = 64; //for upper case
if(temp<=90 & temp>=65)
System.out.print(temp-temp_integer);
}
Run Code Online (Sandbox Code Playgroud)
输出:
__CODE__
小智 20
除了使用ASCII转换之外,另一种解决此问题的方法如下:
String input = "abc".toLowerCase();
final static String alphabet = "abcdefghijklmnopqrstuvwxyz";
for(int i=0; i < input.length(); i++){
System.out.print(alphabet.indexOf(input.charAt(i))+1);
}
Run Code Online (Sandbox Code Playgroud)
dty*_*dty 13
将每个字符转换为ASCII码,减去"a"的ASCII码并添加1.我故意将代码留作练习.
这听起来像是家庭作业.如果是这样,请将其标记为.
此外,这不会处理大写字母,因为您没有声明处理它们的任何要求,但是如果您需要在开始之前只是小写字符串.
哦,这只会处理拉丁语"a"到"z"字符而没有任何重音等.
char letter;
for(int i=0; i<text.length(); i++)
{
letter = text.charAt(i);
if(letter>='A' && letter<='Z')
System.out.println((int)letter - 'A'+1);
if(letter>='a' && letter<= 'z')
System.out.println((int)letter - 'a'+1);
}
Run Code Online (Sandbox Code Playgroud)