还记得玩游戏时,您将自己名字的每个单词编入索引并将其加在一起形成一个 secret 数字吗?就像aay
将是1+1+25=27
我尝试用java中的各种方法做同样的事情,但我失败了。让我先分享我的脚本,然后告诉我我尝试了什么。
class test{
public static void main(String args[]){
int c = 3;
String s = "c";
///now this is what all i tried:
int value1 = (int)(s);
///i tried a cast, but that failed.
String d = "4";
int value2 = Integer.parseInt(d);
///when i try this, it correctly converts the string to an integer.
Integer.parseInt(s);
///but when i try the above, it fails to do the same.
}
}
在这段代码中,我尝试了两种不同的方法,这两种方法的工作方式与我想要的类似,但并不完全相同。
问题是它无法重新组织 c 是一个具有整数值的变量。
那么,有什么捷径可以实现吗? 另外,现在字符串只有 1 位数字长,一旦用户输入他或她的名字,我将使用 for 循环来完全循环所有字母。
如果没有任何捷径,我唯一的选择就是做出如下 if 语句:
if(letter=a;){
value=1;
}
或者类似的东西?
感谢您的帮助!
最佳答案
不能直接将字符串转换为整数,需要一次取一个字符并减去 char 'a'
的值,然后加 1 :
public static void main(String[] a) {
String s = "test";
for (char c : s.toLowerCase().toCharArray()){
System.out.println(charToInt(c));
}
}
private static int charToInt(char c){
return c - 'a' + 1;
}
关于java - java中如何将字符串视为变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11965352/