我正在导入一个.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;
显然,以上是不正确的,但这个想法。
答案 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找到更多信息。