java - java中如何将字符串视为变量?

标签 java

还记得玩游戏时,您将自己名字的每个单词编入索引并将其加在一起形成一个 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/

相关文章:

java - 如何解压读取压缩文件?

java - 为 JAX-RS servlet 初始化 Memcached/JDBC 资源

java - Resteasy POST 未找到合适的构造函数

JAVA 用空格填充字符串(JFrame)

java - 如何播放较长的 AudioClip?

java - WAS Liberty 配置文件 - 使用 ClassLoader.getSystemResourceAsStream 读取属性

java - Spring Boot boot在Java 6上运行

java - Google App Engine - 错误 503_服务不可用

java - SparseArray 上 putAll 的等效方法

java - 一个流中的多个 "match"检查