繁体   English   中英

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

[英]How do I use string variable names in Math equations?

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是代码中定义的常量。 我知道如何使用Integers(即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)和voila时,您便会拥有自己的值。 您可以放弃枚举方法,并创建一个简单的Map<String,Integer> (或<String,Whatever_your_values_will_be> )来存储和获取动态名称的值。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM