Como reconhecer um operador logico

3 respostas
AbnoanMuniz

Bem meus caros,

Venho resolvendo alguns problemas do site SPOJ, quando me deparo com uma questão que passa como entrada um operador logico, só que eu não tenho a minima ideia de como manipular essa entrada.
Ex.: a entrada é 5 + 5.

Dai minha duvida é : se teria algum método ou algum comando que consiga reconhecer o operador logico que foi digitado para que eu possa manipular?

Agradeço desde já.

3 Respostas

W

Intao vo pode usar tipo por string e pegando o valor for assim

String operador="";

if(operador.equals("+"){
 Double soma;
 soma=nunber1+nunber2;

}

ou

se for para digitar ali assim
5+5
eu usaria uma string e faria um substring para verificar qual operador seria.

Brainiac.jar

O método equals indicado pelo wilkem não serve, você precisará do método contains() para analisar se a String contém determinado caracter, veja abaixo como pode usá-lo, aplicando em parte de seu código:

import java.util.Scanner; 

class TesteIf{
	public static void ExibeResultado(String conta){
			int numero1 = 0;
			int numero2 = 0;
			int resultado = 0;
			String[] operacao;
			String operador = "";
			if(conta.contains("+")){
				operador = "+";
				operacao = conta.split("[+]"); 
				numero1 = Integer.parseInt(operacao[0]);
				numero2 = Integer.parseInt(operacao[1]);
				resultado = numero1+numero2;
			}else if(conta.contains("-")){
				operador = "-";
				operacao = conta.split("[-]"); 
				numero1 = Integer.parseInt(operacao[0]);
				numero2 = Integer.parseInt(operacao[1]);
				resultado = numero1-numero2;
			}else if(conta.contains("/")){
				operador = "/";
				operacao = conta.split("[/]"); 
				numero1 = Integer.parseInt(operacao[0]);
				numero2 = Integer.parseInt(operacao[1]);
				resultado = numero1/numero2;
			}else if(conta.contains("*")){
				operador = "*";
				operacao = conta.split("[*]"); 
				numero1 = Integer.parseInt(operacao[0]);
				numero2 = Integer.parseInt(operacao[1]);
				resultado = numero1*numero2;
			}

			//Retornando o resultado da conta
			System.out.println("O resultado de "+numero1+" "+operador+" "+numero2+" eh: "+ resultado);
	}
	public static void main(String[] args) {
		System.out.print("\nEntre com a conta e aperte ENTER(Exemplo: 5+5): ");
		Scanner scan = new Scanner(System.in);
		String conta = scan.nextLine();
		ExibeResultado(conta);
	}
}

Pode jogar direto no compilador, o código está funcionando! Espero ter ajudado.

ViniGodoy

Esse é justamente o desafio proposto.

Criado 11 de março de 2013
Ultima resposta 11 de mar. de 2013
Respostas 3
Participantes 4