String naar Boolean

Status
Niet open voor verdere reacties.

Brammibal

Nieuwe gebruiker
Lid geworden
30 nov 2008
Berichten
3
He,
ik ben nog een ongelofelijke beginner met java en heb dan ook een hele stomme vraag.

ik wil een string valueren om te kijken of de logische expressie die in de string is waar is of niet waar.

als ik dit bijvoorbeeld invul:

String valuatie2 = "(true && true) || (!true && !true) || (!true && true)";
System.out.println(valuatie2);

resulteert dit in: (true && true) || (!true && !true) || (!true && true)

terwijl als ik het zo invul
System.out.println((true && true) || (!true && !true) || (!true && true));

dit resulteert in: true

nu is mijn vraag dus hoe ik de string op een of andere manier kan evalueren..
 
dan krijg je deze foutmelding:

Sat.java:74: incompatible types
found : boolean
required: java.lang.String

ik heb natuurlijk een versimpeling van mijn programma gegeven, dit is het hele programma:

public class Sat {
public static void main(String [] args) {
System.out.println();

// hier voeren we de rij in en de valuatie
int rij[][] = {{1,2},{-1,-2},{-1,2}};
boolean valuatie [] = {true, true};

// afdrukken van de boolese waarde van de rij
System.out.println("De Boolese waarde:");

String valuatie2 = "";
for(int i=0; i < rij.length; i++) {
valuatie2 = (valuatie2 + "(" );
for(int j=0; j < rij.length; j++) {
// hier wordt gekeken of er een min voor het getal staat, als dat zo wordt het min getal vevangen door een !
if(rij[j] < 0) {
valuatie2 = valuatie2 + "!" + valuatie[j];
}
else {
valuatie2 = valuatie2 + valuatie[j];
}
if(j < (rij.length - 1)) valuatie2 = valuatie2 + " && ";
}
valuatie2 = valuatie2 + ")";
if(i < (rij.length - 1)) valuatie2 = valuatie2 + " || ";
}
System.out.println(valuatie2);

}
}
 
Sorry, maar kun je heb probleem eens wat verduidelijken? Wat is eigenlijk de bedoeling??

Er moet dus een true of false worden afgedrukt??
Waarom moet das alles eerst in een string??
 
he, ja dat is wat ik me ook heb bedacht. wat ik eigenlijk wou is dat de string die ik opgebouwd werdt gecontroleerd of die war of neit waar is.

dit doet java niet omdat die een string behandelt als een string, logischerwijs.

het probleem is eigenlijk al opgelost.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan