Boa Noite, estou tentando programar em java a questão abaixo:
Escreva um código em Java que leia e processe uma expressão booleana que tenha três variáveis e dois operadores. Os operadores booleanos são: && (AND) e || (OR), e todos têm dois caracteres (não implementaremos o NOT). Obrigatoriamente o separador entre os tokens é ’ ’ (espaço em branco) e o nome das variáveis só pode utilizar letras. Não existe precedência entre os operadores; assim a expressão é processada da esquerda para a direita. Após ler a expressão, o programa deverá perguntar o valor de cada uma das três variável booleanas e dar o resultado final.
ex: A || B && C
A: false
B: false
C: true
Resultado: false
Se alguém puder me ajudar, já tentei de várias formas, porém não consegui resolver.
staticStringa;staticStringb;staticStringc;staticStringop;staticStringexpressao;publicstaticvoidmain(String[]args){//lê a expressão // ex. a && b && cScannerleia=newScanner(System.in);System.out.println("Digite a expressão booleana a ser processada: ");expressao=leia.nextLine();//informa o valor de a System.out.println("Informe o valor TRUE ou FALSE da primeira variável: ");a=leia.nextLine();//passa o valor de a pra a1booleana1=Boolean.parseBoolean(a);//informa o valor de bSystem.out.println("Informe o valor TRUE ou FALSE da segunda variável: ");b=leia.nextLine();//passa o valor de b pra b1booleanb1=Boolean.parseBoolean(b);//informa o valor de cSystem.out.println("Informe o valor TRUE ou FALSE da terceira variável: ");c=leia.nextLine();//passa o valor de c pra c1booleanc1=Boolean.parseBoolean(c);//a expressao pode ser digitada com espaço, então tiramos o espaço// se foi digitada assim "a && b && c" ficará assim "a&&b&&c"Stringexp=expressao.replaceAll(" ","");//pego exatamente a posição 1,3 (por isso tirei os espaços)//essa posição é a operação desejada && ou ||Stringop1=exp.substring(1,3);//faz a mesma coisa de cima, pega a posição exata da próxima operaçãoStringop2=exp.substring(4,6);if((op1.equals("&&"))&&(op2.equals("&&"))){booleanresultado=(a1&&b1&&c1);System.out.println("O resultado da expressão é: "+resultado);}elseif((op1.equals("&&"))&&(op2.equals("||"))){booleanresultado=(a1&&b1||c1);System.out.println("O resultado da expressão é: "+resultado);}elseif((op1.equals("||"))&&(op2.equals("&&"))){booleanresultado=(a1||b1&&c1);System.out.println("O resultado da expressão é: "+resultado);}elseif((op1.equals("||"))&&(op2.equals("||"))){booleanresultado=(a1||b1||c1);System.out.println("O resultado da expressão é: "+resultado);}}}