2016-03-27 2 views
-1

Я импортирую файл .txt для использования частей моей программы. Определенная часть должна манипулировать булевыми переменными. Тем не менее, я использую loadStrings() для интерпретации текста в Строках с отдельными строками, называемыми строками []. У меня есть имя переменной как String и должно ссылаться на эту переменную. К сожалению, я не смог понять, как это сделать.Обработка: манипулировать переменными по именам строк

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) { 

не возможное решение, как любое слово, кроме «истинно» при использовании в булевом() является ложным, так что выше дает ложноположительный (простите за каламбур).

Если в java-кодировании есть решение одной и той же проблемы, я был бы рад также увидеть это.

P.S. Если у вас есть решение, есть ли способ не просто ссылаться на переменную по ее имени, но и на ее изменение? Например:

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

или

lines[counter+2] = false; 

очевидно, выше неверны, но эта идея.

ответ

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.

Смежные вопросы