Pessoal, preciso tirar uma dúvida.
É possível executar um if else, com o operador matemático dentro de uma string?
Exemplo:
String igual = "==";
int valor1 = 4;
int valor2 =2;
if(valor1 igual valor2){
out.println("igual");
}
Desta maneira do exemplo não funciona, existe outra maneira.
Como você mesmo notou, isso não funciona. Então, o que você quer fazer exatamente? O que espera obter? Digamos seu objetivo para sugerirmos alternativas.
Abraço.
É que gravei os operadores e valores em várias condições diferentes no banco de dados para utiliza-los em comparações, mas não testei antes, e agora me deparei com esse problema.
C4sh3w
Abril 5, 2017, 11:16pm
#4
Interessante a lógica de salvar um operador relacional (igual a) numa String, mas realmente isso não funciona.
Ok, valeu pessoal. É nos erros que se aprende.
1 curtida
Dependendo do que você quer resolver com esta abordagem, você pode utilizar um switch.
Tenho uma tabela com vários status e cada um tem sua condição e quem faz a condição é a própria pessoa.
String operador1 = ">";
String operador2 = "<";
int valor1 = 90;
int valor2 =30;
int valor3 =20;
String cor1 = "green"
String cor2 = "yellow"
if(valor1 operador1 valor2 && valor2 operador2 valor3 ){
out.println(cor1);
}else{
out.println(cor2);
}
Você pode implementar um padrão Builder para realizar cálculos.
Aí não precisa quebrar a cabeça para tratar expressões dentro de Strings.