2016-03-27 15 views
-1

Programımın bir bölümünü çalıştırmak için kullanılacak bir .txt dosyası alıyorum. Belirli bir bölümün boole değişkenlerini işlemesi gerekir. Ancak, metnin Dizeler olarak yorumlanması için loadStrings() kullanıyorum, satırları [] olarak adlandırılan tek tek satırlarla. Bir değişkenin bir String olarak ismini aldım ve değişkenin kendisine başvurmalıdır. Ne yazık ki, bunu nasıl yapacağımı anlayamadım.İşlem: değişkenleri dize isimlerine göre işleyin

boolean choice1 = false; 

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

Açıkçası, yukarıdaki deyimi çalışmak, ne yapar değildir:

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

o hataları gibi. Ayrıca ,

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

(boolean kullanılan "gerçek" dışında herhangi bir kelime) yanlış olarak olası bir çözüm değildir, bu nedenle, yukarıda yanlış bir pozitif (cinas AF) vermektedir.

Aynı problemde java kodlamada bir çözüm varsa, bunu da görmekten mutluluk duyarım.

P.S. Eğer bir çözümünüz varsa, değişkeni sadece ismine göre değil, aynı zamanda değiştirmek için bir yol var mı? Örneğin:

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

veya belli

lines[counter+2] = false; 

yukarıda doğru, ama bu fikir.

cevap

0

Bunu yapamazsınız.

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

diğer bilgiler the Processing reference bulunabilir:

Gerçi Boolean değerlere HashMapString değerlerini kullanabilirsiniz.

İlgili konular