处理:按字符串名称操作变量

时间:2016-03-27 23:21:59

标签: java variables reference text-files processing

我正在导入一个.txt文件,用于运行部分程序。某个部分需要操纵布尔变量。但是,我使用loadStrings()将文本解释为字符串,其中各行称为lines []。我有一个变量的名称作为字符串,必须引用变量本身。不幸的是,我一直无法弄清楚如何做到这一点。

boolean choice1 = false;

//  lines[counter+2] is "choice1"
if (lines[counter+2] = false) {
    println("statement is false");
    counter += 4;
  }

显然,上述陈述不起作用,也不起作用:

if (boolean(lines[counter+2]) = false) {

因为它错误。 此外,

if (boolean(lines[counter+2]) == false) {

不是任何可能的解决方案,除了" true"当在boolean()中使用时为false,因此上面给出了误报(请原谅双关语。)

如果在java编码中有相同问题的解决方案,我也很乐意看到它。

P.S。如果你有一个解决方案,有没有办法不仅仅通过名称引用变量,还可以改变它?例如:

boolean(lines[counter+2]) = false;

lines[counter+2] = false;
显然,以上是不正确的,但这个想法。

1 个答案:

答案 0 :(得分:0)

你不能这样做。

您可以使用HashMap String个值来Boolean值:

HashMap<String, Boolean> variableMap = new HashMap<String, Boolean>();
variableMap.put("myVariable", true); //set the value
boolean check = variableMap.get("myVariable"); //get the value
println(check);
variableMap.put("myVariable", false); //change the value
boolean checkAgain = variableMap.get("myVariable"); //get the new value
println(checkAgain);

可以在the Processing reference找到更多信息。