java处理:通过字符串名称操纵变量

8nuwlpux  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(382)

我正在导入一个.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) {

不是一个可能的解决方案,因为在boolean()中使用“true”以外的任何单词都是false,所以上面给出了一个假阳性(请原谅这个双关语)。
如果java编码中有解决同样问题的方法,我也很乐意看到。
p、 如果你有一个解决方案,有没有一种方法不仅通过名称引用变量,而且还可以改变它?例如:

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

lines[counter+2] = false;

显然,上述说法是不正确的,但这种想法。

f3temu5u

f3temu5u1#

你不能那样做。
你需要一个 HashMapString 值到 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);

更多信息可以在processing reference中找到。

相关问题