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

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

我正在导入一个.txt文件来运行我的部分程序。某个部分需要操作布尔变量。但是,我正在使用loadstrings()将文本解释为字符串,其中单独的行称为lines[]。我有一个变量的名称作为字符串,必须引用变量本身。不幸的是,我一直不知道该怎么做。

  1. boolean choice1 = false;
  2. // lines[counter+2] is "choice1"
  3. if (lines[counter+2] = false) {
  4. println("statement is false");
  5. counter += 4;
  6. }

显然,上述说法行不通,也行不通:

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

因为它会出错。也,

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

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

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

  1. lines[counter+2] = false;

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

f3temu5u

f3temu5u1#

你不能那样做。
你需要一个 HashMapString 值到 Boolean 但价值观:

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

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

相关问题