@sidorchik

Как вывести таблицу истинности на Java?

Нужно записать логическое выражение на Java. Вот задание: https://yadi.sk/i/05km155F3NA8zK
  • Вопрос задан
  • 2008 просмотров
Решения вопроса 1
@sidorchik Автор вопроса
Код
public class Main {
 
    public static void main(String[] args) {
        System.out.println("R = !(!x && y) || (x && !z)");
        System.out.println("Таблица истинности");        
        System.out.println("X Y Z  R");
		out(false,false,false);
		out(false,false,true);
		out(false,true,false);
		out(false,true,true);
		out(true,false,false);
		out(true,false,true);
		out(true,true,false);
        out(true,true,true);
    }
    public static void out(boolean x, boolean y, boolean z){
        System.out.println((x ? "1 " : "0 ") + (y ? "1 " : "0 ") + (z ? "1 " : "0 ") + (!(!x && y) || (x && !z) ? " 1" : " 0"));
    }
}


Результат
R = !(!x && y) || (x && !z)
Таблица истинности
X Y Z R
0 0 0 1
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
twobomb
@twobomb
Помойму как-то так.
public class Main {

    public static void main(String[] args) {
        System.out.println("Таблица истиности для выражения !(!x && y) || (x && !z)");
        System.out.println("  X      Y      Z    !(!x && y) || (x && !z)");
        out(true,true,true);
        out(false,false,false);
        out(true,true,false);
        out(false,false,true);
        out(true,false,true);
        out(false,true,false);
        out(true,false,false);
        out(false,true,true);

    }
    public static void out(boolean x,boolean y,boolean z){
        System.out.println((x?"Истина ":" Ложь  ")+(y?"Истина ":" Ложь  ")+(z?"Истина ":" Ложь  ")+(!(!x && y) || (x && !z)?"         Истина":"         Ложь"));
    }
}


Console
Таблица истиности для выражения !(!x && y) || (x && !z)
X Y Z !(!x && y) || (x && !z)
Истина Истина Истина Истина
Ложь Ложь Ложь Истина
Истина Истина Ложь Истина
Ложь Ложь Истина Истина
Истина Ложь Истина Истина
Ложь Истина Ложь Ложь
Истина Ложь Ложь Истина
Ложь Истина Истина Ложь
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы