GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Um programa java no qual seja possível resolver a tabela verdade com a entrada de duas proposições (p e q)

Tags: #<Tag:0x00007f22dd7d8c08>

Alguem pode me ajudar. na seguinte questão, Desenvolva um programa java no qual seja possível resolver a tabela verdade com a entrada de duas proposições (p e q), sendo possível atribuir os valores (V ou F) trabalhando com os conectivos “negação”,“e”, “ou”, “se…então” e “se somente se” , sendo que ao final deve ser informada a saída esperada considerando os valores e conectivos dados como entrada.**.

import java.util.Scanner;
public class Main
{
public static void main(String[] args) {

    Scanner end = new Scanner (System.in);
    
    boolean var1, var2; 
    int opcao= 0;
    
    
	System.out.println("Digite a primeira condição da tabela da verdade:");
	var1= end.next();
	
	System.out.println("Digite a segunda condição da tabela da verdade:");
	var2= end.nextInt();
	
		if( var1 || var2 ){
		System.out.println("Var1 ou Var2 são True.");
	}

	// and //
	if( var1 && var2 ) {
		System.out.println("Var1 e Var2 são True.");

}

}

}
Obrigado!

var1 e var2 são do tipo boolean.
end.next() retorna um objeto String.
end.nextInt() retorna um tipo primitivo int.
:man_shrugging:

Sim entendi, Ok mais tem algum modo de fazer o usuário digitar mesmos sendo um var booleana?

Preciso que o usuário digite as variáveis e no final de o resultado da tabela, mais não sei como.

Quando você usar a classe Scanner para ler entrada de dados a partir do TECLADO, utilize somente o método nextLine(), caso contrário terá problemas pois os outros métodos não consomem a quebra de linha gerada ao pressionar ENTER.

Basta você comparar o valor digitado:

System.out.println("Digite a primeira condição da tabela da verdade:");
var1 = end.nextLine().equalsIgnoreCase("V");

System.out.println("Digite a segunda condição da tabela da verdade:");
var2 = end.nextLine().equalsIgnoreCase("V");
//