java - 如何在数学方程中使用字符串变量名称?

标签 java string variables int

try {

        BufferedReader rd = new BufferedReader(new FileReader("tommy.txt"));
        String text;
        while ((text = rd.readLine()) != null) {
            println(text);
            int i = Integer.parseInt(text);
            GRect block = new GRect(i, i, i, i);
            add(block);

        }
    } catch (IOException e) {

        e.printStackTrace();
    }

所以我有一个 .txt 文件,我用“SIZE/10”之类的字符串导入,其中 SIZE 是代码中定义的常量。我知道如何使用整数(即 10)进行计算,但我不确定如何“转换”变量名称。

感谢您的帮助。

最佳答案

类似于https://stackoverflow.com/users/1682559/kevin-cruijssen注释 - 如果这些确实是您编写时的常量,并且您知道在编写代码时它们是什么,那么问题就不那么困难了。我建议使用像这样的枚举:

public enum ConstantsEnum{

    SIZE(20)/*...*/;


    private int value;

    ConstantsEnum(int value){
        this.value = value;
    }

    public int getByName(String name){
        return ConstantsEnum.valueOf(name).getValue();
    }

    public int getValue(){
        return value;
    }
}

这样,每当您读取字符串常量时,都会调用 ConstantsEnum.getByName(name)瞧,你有你的值(value)。您可以放弃枚举的想法并创建一个简单的 Map<String,Integer> (或 <String,Whatever_your_values_will_be> )来存储和获取动态名称的值。

困难的部分可能是读取文件以正确获取每个名称并将其转换为它的值 - 但这将取决于您没有提到的文件结构和变量名称。可能对文件内容进行一系列简单的replaceAlls,将所有变量名称转换为值就足够了。

关于java - 如何在数学方程中使用字符串变量名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35726784/

相关文章:

java - 如何使用动态键为 json 创建 POJO 类以进行改造?

java - java 随机字节转int

JavaScript 变量不起作用。为什么?

java - 如何在更改原始引用变量后再次引用 Java 对象

java - 安卓Q : SQLite database in scoped storage

java - 如何获取推送的键值并更新键值的子值

Java压缩字符串

java - 如何在java REST中使用引号

javascript - 获取以 N 个字符递增分隔字符串的字符串数组的更好方法

javascript - Javascript 变量声明简写是使变量成为全局变量还是局部变量?