Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.89/219: Рейтинг темы: голосов - 219, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 09.01.2014
Сообщений: 7

Видоизменить программу таким образом, чтобы вместо логических значений true и false отображались 1 и 0

01.10.2015, 19:16. Показов 45070. Ответов 105
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, учу JAVA, попалась задача :
Кликните здесь для просмотра всего текста
Попробуйте видоизменить программу таким образом, чтобы вместо логических значений true и false отображались значения 1 и 0.

Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class LogicalOpTable {
    public static void main(String args[])  {
        boolean p, q;
 
        System.out.println("P\tQ\tAND\tOR\tXOR\tNOT");
 
        p = true; q = true;
        System.out.print(p + "\t" + q +"\t");
        System.out.print((p&q) + "\t" + (plq) + "\t");
        System.out.println((p^q) + "\t" + (!p));
 
        p = true; q = false;
        System.out.print(p + "\t" + q +"\t");
        System.out.print((p&q) + "\t" + (plq) + "\t");
        System.out.println((p^q) + "\t" + (!p));
 
        p = false; q = true;
        System, out .print (p + "\t" + q +"\t");
        System.out.print((p&q) + "\t" + (plq) + "\t");
        System.out.println((p^q) + "\t" + (!p));
 
        p = false; q = false;
        System.out.print(p + "\t" + q +"\t");
        System.out.print((p&q) + "\t" + (plq) + "\t");
        System.out.println((p^q) + "\t" + (!p));
    }
}

Сделал ее, но ,как по мне, она слишком большая, есть ли другие способы написать ее по другому.
Критикуйте и т.д, и т.п.
Это первая часть кода, там изменяется только p,q на false или true.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
class Example5 {
    public static void main(String args[]) {
        boolean p,q;
        int x;
        
        
        System.out.println("P\tQ\tAND\tOR\tXOR\tNOT");
        
        p = true; q = true;
        if(p) {
            x = 1;
            System.out.print(x + "\t");
        }
        else {
            x = 0;
            System.out.print(x + "\t");
        }
        if(q) {
        x = 1;
            System.out.print(x + "\t");
                }
        else {
            x = 0;
            System.out.print(x + "\t");
        }
        if(p&q) {
            x = 1;
            System.out.print(x + "\t");
        }
        else {
            x = 0;
            System.out.print(x + "\t");
        }
        if(p|q) {
            x = 1;
            System.out.print(x + "\t");  
        }
        else {
            x = 0;
            System.out.print(x + "\t");
        }
        if(p^q) {
            x = 1;
            System.out.print(x + "\t");
        }
        else {
            x = 0;
            System.out.print(x + "\t");
        }
        if(!p) {
            x = 1;
            System.out.println(x + "\t");
        }
        else {
            x = 0;
            System.out.println(x + "\t");
        }
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.10.2015, 19:16
Ответы с готовыми решениями:

Нужно чтобы вместо false и true отображались 0 и 1 в таблице истинности
Нужно чтобы вместо false и true отображались 0 и 1 в таблице истинности. заменил тип переменных p и q с boolean на byte, но ругается на...

Вместо логических значений true и false отображать значения 1 и 0
class LogicalOpTable { public static void main(String args) { boolean p, q; System.out.println("P\t Q\t ...

Изменение логических значений true и false на 1 и 0
Доброго времени суток, уважаемые форумчане. Заранее извиняюсь за дурацкий вопрос, я просто новичок в программировании. Нужно было в...

105
0 / 0 / 0
Регистрация: 06.03.2017
Сообщений: 1
06.03.2017, 01:49
Студворк — интернет-сервис помощи студентам
Вот такой код для данного задания на мой взгляд будет правильным.
string a добавил ради прикола - просто интересно как ведет себя программа при такой структуре.
Задумка такая, что 'string a' выражение прописывалось в программе один раз и при разных условиях boolean p, q; выводился только результат - в общем сократить код. Если кто поправит - заранее спасибо. На самом деле задача на усвоение материала и практическая польза только для обучающихся.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class LogicalOpTabl {
public static void main(String args[]) {
 
boolean p, q;
String a;
 
System.out.println("P\tQ\tAND\tOR\tXOR\tNOT");
 
p = true; q = true;
a = ((p ? 1 : 0) + "\t" + (q ? 1 : 0) +"\t" + ((p&q)? 1 : 0) + "\t" + ((p|q)? 1:0) + "\t" + ((p^q)? 1 :0) + "\t" + ((!p)? 1 :0));
System.out.println(a);
 
p = true; q = false;
System.out.println((p ? 1 : 0) + "\t" + (q ? 1 : 0) +"\t" + ((p&q)? 1 : 0) + "\t" + ((p|q)? 1:0) + "\t" + ((p^q)? 1 :0) + "\t" + ((!p)? 1 :0));
 
p = false; q = true;
System.out.println((p ? 1 : 0) + "\t" + (q ? 1 : 0) +"\t" + ((p&q)? 1 : 0) + "\t" + ((p|q)? 1:0) + "\t" + ((p^q)? 1 :0) + "\t" + ((!p)? 1 :0));
 
p = false; q = false;
System.out.println((p ? 1 : 0) + "\t" + (q ? 1 : 0) +"\t" + ((p&q)? 1 : 0) + "\t" + ((p|q)? 1:0) + "\t" + ((p^q)? 1 :0) + "\t" + ((!p)? 1 :0));
}
}
0
0 / 0 / 1
Регистрация: 06.05.2015
Сообщений: 49
28.04.2017, 18:44
Grover76,

Привет!

Скобок много ))))
Тоже пришел к выводу, что товарищ Герберт подталкивает читателя к использованию тренарого оператора.
Code
1
<логическое выражение> ? <выражение1> : <выражение2>
По крайней мере другого решения на этом уровне подачи материала - нет.
Тренарный оператор единственно доступное решение, условия if else и прочие replace идут позже.

Ну и мой варит решения.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
class LogicalOpTable {    
  public static void main(String args[]) {    
 
    boolean p, q; 
 
    System.out.println("P\tQ\tAND\tOR\tXOR\tNOT"); 
 
    p = true; q = true; 
    System.out.print(p + "\t" + q +"\t"); 
    System.out.print((p&q?1:0) + "\t" + (p|q?1:0) + "\t"); 
    System.out.println((p^q?1:0) + "\t" + (!p?1:0)); 
 
    p = true; q = false; 
    System.out.print(p + "\t" + q +"\t"); 
    System.out.print((p&q?1:0) + "\t" + (p|q?1:0) + "\t"); 
    System.out.println((p^q?1:0) + "\t" + (!p?1:0)); 
 
    p = false; q = true; 
    System.out.print(p + "\t" + q +"\t"); 
    System.out.print((p&q?1:0) + "\t" + (p|q?1:0) + "\t"); 
    System.out.println((p^q?1:0) + "\t" + (!p?1:0)); 
 
    p = false; q = false; 
    System.out.print(p + "\t" + q +"\t"); 
    System.out.print((p&q?1:0) + "\t" + (p|q?1:0) + "\t"); 
    System.out.println((p^q?1:0) + "\t" + (!p?1:0)); 
  }    
}
0
0 / 0 / 0
Регистрация: 22.11.2016
Сообщений: 1
27.05.2017, 00:31
Доброго вечера.
Беда в том, что на этом уровне материала - Тернарный оператор не проходится.
И в вашем коде первые 2 столбика все равно возвращают слова true/false.
Как сделать так, чтобы все столбцы отображали 0 или 1?
реально ли сделать исключительно по учебнику или тут включается тот момент, что надо черпать информацию из других источников (со слов Шильдта)?
0
0 / 0 / 1
Регистрация: 06.05.2015
Сообщений: 49
29.05.2017, 15:06
Цитата Сообщение от RemukC Посмотреть сообщение
Доброго вечера.
Беда в том, что на этом уровне материала - Тернарный оператор не проходится.
...
вашем коде первые 2 столбика все равно возвращают слова true/false.
Он упоминается на предыдущей странице в теме "приоритеты операций".
Ну то есть, если бы въедливый читатель озаботился тем, что бы исследовать за что отвечает каждый оператор, он бы знал как решить эту задачу.

У меня везде где нужно подменяется.
Кроме первых двух столбцов которые я оставил специально для наглядности.
А исправить можно все тем же тернарным оператором (x?1:0)
0
528 / 263 / 70
Регистрация: 11.12.2016
Сообщений: 1,223
30.05.2017, 14:50
ne2win, А можно как-то расширить System.out? Ну чтобы не всегда менялось true, false на 1,0, а только когда хочется. Честно сказать я не очень понимаю логику, в частности System.setOut(aprintStream);
Насколько я понимаю, aprintStream это объект унаследованый от System.out, и в этом объекте мы переопределяем println и print. И когда я пишу System.out.print() я по сути вызываю новый переопределенный метод. Все вроде правильно, все работает, Но когда я в этом внутренем классе пишу новий метод public void A() {}; то его не видно в списке возможных в System.out.
Не подскажете что именно я неправильно понимаю?
0
33 / 33 / 20
Регистрация: 18.03.2016
Сообщений: 101
30.05.2017, 15:28
Цитата Сообщение от Kosmos007 Посмотреть сообщение
Есть ли по настоящему практическое решение?
Я думаю, что есть. Как раз сказали, что задача из раздела статических методов. Вот такое решение:
Кликните здесь для просмотра всего текста

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public class Main {
    public static void main(String[] args) {
        boolean p, q;
 
        System.out.println("P\tQ\tAND\tOR\tXOR\tNOT");
 
        p = true; q = true;
        print(p + "\t" + q +"\t");
        print((p&q) + "\t" + (p|q) + "\t");
        println((p^q) + "\t" + (!p));
 
        p = true; q = false;
        print(p + "\t" + q +"\t");
        print((p&q) + "\t" + (p|q) + "\t");
        println((p^q) + "\t" + (!p));
 
        p = false; q = true;
        print (p + "\t" + q +"\t");
        print((p&q) + "\t" + (p|q) + "\t");
        println((p^q) + "\t" + (!p));
 
        p = false; q = false;
        print(p + "\t" + q +"\t");
        print((p&q) + "\t" + (p|q) + "\t");
        println((p^q) + "\t" + (!p));
    }
    public static void print(String s) {
        System.out.print(s.replaceAll("true","1").replaceAll("false","0"));
    }
    public static void println(String s) {
        System.out.println(s.replaceAll("true","1").replaceAll("false","0"));
    }
}


Вариант №2, использовать подобным образом такой метод:
Java
1
2
3
public static void print(boolean b) {
        System.out.println((b) ? 1 : 0);
    }
или такой
Java
1
2
3
4
5
6
7
public static void printf(String s, Object... b) {
        for (int i = 0; i < b.length; i++) {
            if (b[i].toString().equals("true")) b[i] = "1";
            if (b[i].toString().equals("false")) b[i] = "0";
        }
        System.out.printf(s,b);
    }
0
0 / -1 / 0
Регистрация: 07.08.2017
Сообщений: 2
07.08.2017, 02:01
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
//вот правильный код
  class Logic {
  public static void main(String args[]){
  boolean p,q;
  System.out.println("P\tQ\tAND\tOR\tXOR\tNOT");
  
  p=true; q=true;
  System.out.print("1\t1\t");
        if(p&q)System.out.print(1+"\t");
        else System.out.print(0+"\t");
        if(p|q)System.out.print(1+"\t");
        else System.out.print(0+"\t");
        if(p^q)System.out.print(1+"\t");
        else System.out.print(0+"\t");
        if(!p)System.out.println(1);
        else System.out.println(0);
 
  p=true; q=false;
  System.out.print("1\t0\t");
        if(p&q)System.out.print(1+"\t");
        else System.out.print(0+"\t");
        if(p|q)System.out.print(1+"\t");
        else System.out.print(0+"\t");
        if(p^q)System.out.print(1+"\t");
        else System.out.print(0+"\t");
        if(!p)System.out.println(1);
        else System.out.println(0);
 
        p = false; q = true;
        System.out.print("0\t1\t");
        if(p&q)System.out.print(1+"\t");
        else System.out.print(0+"\t");
        if(p|q)System.out.print(1+"\t");
        else System.out.print(0+"\t");
        if(p^q)System.out.print(1+"\t");
        else System.out.print(0+"\t");
        if(!p)System.out.println(1);
        else System.out.println(0);
 
         p = false; q = false;
        System.out.print("0\t0\t");
        if(p&q)System.out.print(1+"\t");
        else System.out.print(0+"\t");
        if(p|q)System.out.print(1+"\t");
        else System.out.print(0+"\t");
        if(p^q)System.out.print(1+"\t");
        else System.out.print(0+"\t");
        if(!p)System.out.println(1);
        else System.out.println(0);
 }
}
-1
 Аватар для HighPredator
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
07.08.2017, 08:23
Цитата Сообщение от Gev1989 Посмотреть сообщение
вот правильный код
Достаточно спорное утверждение.. Обосновать можете?
0
 Аватар для Aviz__
2750 / 2058 / 508
Регистрация: 17.02.2014
Сообщений: 9,486
07.08.2017, 13:04
мой вариант :
Кликните здесь для просмотра всего текста

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
public class CyberForum {
 
    public static void main(String[] argv) {
        boolean [] boolValue = {true, false};
        Helper sc = new Helper();
        char [] operator = {'&','|','^','!'};
 
        for (boolean p : boolValue)
            for (boolean q : boolValue) {
                System.out.println(p + " " + q);
                for (char op : operator) {
                    if (op != '!')
                        System.out.println(sc.conferencier(p) + sc.conferencier(op) + sc.conferencier(q) +
                                " = " + sc.conferencier(sc.conferencier(p, op, q)));
                    else
                        System.out.println(sc.conferencier(op) + sc.conferencier(q) +
                                " = " + sc.conferencier(sc.conferencier(op, q)));
                }
            }
    }
}
// ===============
public class Helper {
    public String conferencier(char operator){
        switch (operator){
            case '&' : return " & ";
            case '|' : return " | ";
            case '^' : return " ^ ";
            case '!' : return " ! ";
            default : return "  ";
        }
    }
 
    public boolean conferencier(boolean firstOperand, char operator, boolean secondOperand){
        switch (operator){
            case '&' : return firstOperand & secondOperand;
            case '|' : return firstOperand | secondOperand;
            case '^' : return firstOperand ^ secondOperand;
            case '!' : return !secondOperand;
            default : return false;
        }
    }
 
    public boolean conferencier(char operator, boolean firstOperand){
        switch (operator){
            case '!' : return !firstOperand;
            default : return false;
        }
    }
 
    public char conferencier(boolean operand){
        return operand ? '1' : '0';
    }
}

Результат работы
Кликните здесь для просмотра всего текста
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
true true
1 & 1 = 1
1 | 1 = 1
1 ^ 1 = 0
 ! 1 = 0
true false
1 & 0 = 0
1 | 0 = 1
1 ^ 0 = 1
 ! 0 = 1
false true
0 & 1 = 0
0 | 1 = 1
0 ^ 1 = 1
 ! 1 = 0
false false
0 & 0 = 0
0 | 0 = 0
0 ^ 0 = 0
 ! 0 = 1
0
07.08.2017, 14:40

Не по теме:

перестаньте насиловать труп же

0
17 / 17 / 3
Регистрация: 06.08.2017
Сообщений: 34
07.08.2017, 16:29
java way для этой задачи - унаследоваться от Boolean и переопределить ему toString(). Но только Boolean помечен final
0
0 / -1 / 0
Регистрация: 07.08.2017
Сообщений: 2
07.08.2017, 19:47
вернее рабочий...))

Добавлено через 3 минуты
вернее рабочий, и соответствует уровню знаний в этом этапе
0
502 / 348 / 134
Регистрация: 14.06.2016
Сообщений: 669
07.08.2017, 20:05
Цитата Сообщение от xave Посмотреть сообщение
java way
Можно обернуть поток
Java
1
2
3
4
PrintStream out = new PrintStream(System.out){
     @Override
     public void print(boolean b) { print(b ? 1 : 0); }
};
3
7 / 8 / 2
Регистрация: 22.06.2017
Сообщений: 30
14.08.2017, 16:03
Привести булевы к строке , а затем, используя регулярные выражения, заменить на соответствующие значения...
0
0 / 0 / 0
Регистрация: 15.10.2017
Сообщений: 2
15.10.2017, 22:55
Меня тоже не могла не смутить эта задача, однако топорное решение все же нашел. Вперед не лез и решил задачу с теми знаниями, которые получил до этого упражнения. Не хвастаюсь, скорее наоборот стыжусь, потому что в этой же теме нашел более красивые и менее массивные решения. Думаю и мою можно сжать

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
class LogicalOpTable2 {
  public static void main(String args[]) {
    boolean p, q;
    byte a, b, c, d, e, f;
          
    System.out.println("P\tQ\tAND\tOR\tXOR\tNOT");
    a = b = c = d = e = f = 1;
    p = true; q = true;
    if(!p) a = 0; 
    if(p) f = 0;
    if(!q) b = 0;
    if(!(p&q)) c = 0;
    if(!(p|q)) d = 0;
    if(!(p^q)) e = 0;
    System.out.print(a + "\t" + b + "\t");
    System.out.print(c + "\t" + d + "\t");
    System.out.println(e + "\t" + f);
 
    a = b = c = d = e = f = 1;
    p = true; q = false;
    if(!p) a = 0; 
    if(p) f = 0;
    if(!q) b = 0;
    if(!(p&q)) c = 0;
    if(!(p|q)) d = 0;
    if(!(p^q)) e = 0;
    System.out.print(a + "\t" + b + "\t");
    System.out.print(c + "\t" + d + "\t");
    System.out.println(e + "\t" + f);
 
    a = b = c = d = e = f = 1;
    p = false; q = true;
    if(!p) a = 0; 
    if(p) f = 0;
    if(!q) b = 0;
    if(!(p&q)) c = 0;
    if(!(p|q)) d = 0;
    if(!(p^q)) e = 0;
    System.out.print(a + "\t" + b + "\t");
    System.out.print(c + "\t" + d + "\t");
    System.out.println(e + "\t" + f);
 
    a = b = c = d = e = f = 1;
    p = false; q = false;
    if(!p) a = 0; 
    if(p) f = 0;
    if(!q) b = 0;
    if(!(p&q)) c = 0;
    if(!(p|q)) d = 0;
    if(!(p^q)) e = 0;
    System.out.print(a + "\t" + b + "\t");
    System.out.print(c + "\t" + d + "\t");
    System.out.println(e + "\t" + f);
  }
}
0
 Аватар для ArtemFM
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
15.10.2017, 23:07
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class TrueOrFalse {
    public static void main(String[] args) {
        boolean p = true;
        boolean q = false;
        System.out.println("P = " + getZeroOtOne(p));
        System.out.println("Q = " + getZeroOtOne(q));
        System.out.println("P AND Q = " + getZeroOtOne(p & q));
        System.out.println("P OR Q = " + getZeroOtOne(p | q));
        System.out.println("P XOR Q = " + getZeroOtOne(p ^ q));
        System.out.println("NOT P == Q = " + getZeroOtOne(!p == q));
    }
 
    public static int getZeroOtOne(boolean bool) {
        return bool ? 1 : 0;
    }
}
0
0 / 0 / 0
Регистрация: 17.09.2017
Сообщений: 1
06.11.2017, 20:16
у меня так получилось согласно теме в книге

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class example {
public static void main(String args []) {
int p,q,c;
System.out.println("P\tQ\tAND\tOR\tXOR\tNOT");
p=49; q=49; c=48;
System.out.print((char)p + "\t" + (char)q +"\t");
System.out.print((char)(p&q) + "\t" + (char)(p|q) + "\t");
System.out.println((q^p) + "\t" +(char)(c));
p=49; q=48;
System.out.print((char)p + "\t" + (char)q +"\t");
System.out.print((char)(p&q) + "\t" + (char)(p|q) + "\t");
System.out.println((p^q) + "\t" + (char)(q));
p=48; q=49;
System.out.print((char)p+ "\t" + (char)q +"\t");
System.out.print((char)(p&q) + "\t" + (char)(p|q) + "\t");
System.out.println((p^q) + "\t" + (char)(q));
p=48; q=48; c=49;
System.out.print((char)p + "\t" + (char)q +"\t");
System.out.print((char)(p&q) + "\t" + (char)(p|q) + "\t");
System.out.println((p^q) + "\t" + (char)(c));
}
}
0
0 / 0 / 0
Регистрация: 25.09.2016
Сообщений: 14
13.02.2018, 03:06
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
class Quiz {
    
public static void main(String[] args) {
boolean q, p;
int a = 1, b = 0;
System.out.println("P\tQ\tAND\tOR\tXOR\tNOT");
q = true;
p = true;
System.out.print(a + "\t" + a + "\t");
if ((p&q) == true) {
    System.out.print(a + "\t");}
if ((p&q) == false) {
    System.out.print(b + "\t");}
if ((p|q) == true) {
    System.out.print(a + "\t");}
if ((p|q) == false) {
    System.out.print(b + "\t");}
if ((p^q) == true) {
    System.out.print(a + "\t");}
if ((p^q) == false) {
    System.out.print(b + "\t");}
if ((!p) == true) {
    System.out.println(a + "\t");}
if ((!p) == false) {
    System.out.println(b + "\t");}
 
 
q = true;
p = false;
System.out.print(a + "\t" + b + "\t");
if ((p&q) == true) {
    System.out.print(a + "\t");}
if ((p&q) == false) {
    System.out.print(b + "\t");}
if ((p|q) == true) {
    System.out.print(a + "\t");}
if ((p|q) == false) {
    System.out.print(b + "\t");}
if ((p^q) == true) {
    System.out.print(a + "\t");}
if ((p^q) == false) {
    System.out.print(b + "\t");}
if ((!p) != true) {
    System.out.println(a + "\t");}
if ((!p) != false) {
    System.out.println(b + "\t");}
 
 
q = false;
p = true;
System.out.print(b + "\t" + a + "\t");
if ((p&q) == true) {
    System.out.print(a + "\t");}
if ((p&q) == false) {
    System.out.print(b + "\t");}
if ((p|q) == true) {
    System.out.print(a + "\t");}
if ((p|q) == false) {
    System.out.print(b + "\t");}
if ((p^q) == true) {
    System.out.print(a + "\t");}
if ((p^q) == false) {
    System.out.print(b + "\t");}
if ((!p) != true) {
    System.out.println(a + "\t");}
if ((!p) != false) {
    System.out.println(b + "\t");}
 
 
q = false;
p = false;
System.out.print(b + "\t" + b + "\t");
if ((p&q) == true) {
    System.out.print(a + "\t");}
if ((p&q) == false) {
    System.out.print(b + "\t");}
if ((p|q) == true) {
    System.out.print(a + "\t");}
if ((p|q) == false) {
    System.out.print(b + "\t");}
if ((p^q) == true) {
    System.out.print(a + "\t");}
if ((p^q) == false) {
    System.out.print(b + "\t");}
if ((!p) == true) {
    System.out.println(a + "\t");}
if ((!p) == false) {
    System.out.println(b + "\t");}
 
}}
А вот мое решение. Может кто нить подсказать, как поправить if ((!p) == true) в 43, 45 и 64, 66 строчке. Или объяснить, правильное это решение или нет. Сам чувствую, что это костыль. Здесь есть правильные решения, с учетом материала, который, автор уже успел довести до читателя. Например цепочка операторов if-else автор еще не успел довести. Спасибо.
0
0 / 0 / 0
Регистрация: 06.03.2018
Сообщений: 2
06.03.2018, 15:25
я немного подумал, и понял почему бы и нет. Главное этот код понятен даже новичкам


Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
class LogicalOpTable {
 public static void main (String args[]) {
  int p, q ; 
System.out.println ("P\tQ\tAND\tOR\tXOR\tNOT");
  p = 1; q = 1;
System.out.print (p + "\t" + q + "\t");
System.out.print ((p&q) + "\t" + (p|q) + "\t");
System.out.print ((p^q) + "\t");
   if(p == 1){ 
     p = 0;
       }else {
        p = 1;
      }
System.out.println(p + "\t");
   p = 1; q = 0;
System.out.print (p + "\t" + q + "\t");
System.out.print ((p&q) + "\t" + (p|q) + "\t");
System.out.print ((p^q) + "\t");
     if(p == 1){ 
       p = 0;
        }else {
          p = 1;
      }
System.out.println(p + "\t");
      p = 0; q = 1;
System.out.print (p + "\t" + q + "\t");
System.out.print ((p&q) + "\t" + (p|q) + "\t");
System.out.print ((p^q) + "\t");
      if(p == 1){ 
       p = 0;
         }else {
          p = 1;
     }
System.out.println(p + "\t");
    p = 0; q  = 0; 
System.out.print (p + "\t" + q + "\t");
System.out.print ((p&q) + "\t" + (p|q) + "\t");
System.out.print ((p^q) + "\t");
     if(p == 1){ 
       p = 0;
        }else {
        p = 1;
      }
System.out.println(p + "\t");
}
}
0
06.03.2018, 15:41

Не по теме:

Цитата Сообщение от Uniy Programmis Посмотреть сообщение
я немного подумал
в следующий раз побольше подумай

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.03.2018, 15:41
Помогаю со студенческими работами здесь

Изменить программу таким образом, чтобы все большие буквы заменялись на символ
Помогите, пожалуйста, изменить код, чтобы выполнялись такие задания: 1 программа: Все большие буквы заменить на символ ‘#’. 2...

Модифицируйте, пожалуйста, программу так, чтобы вместо 0 выводилось “false”, а вместо 1 – ”true”
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; int main() { bool y, x; bool sq={ {0,0}, {0,1}, ...

Дана последовательность из n логических значений. Определить, каких значений в последовательности больше - True или False
Дана последовательность из n логических значений. Определить, каких значений в последовательности больше - True или False.

Видоизменить массив таким образом, чтобы сначала шли все положительные элементы, потом все отрицательные
Принять в процедуру некоторый заполненный массив с отрицательными и положительными элементами. Нужно слегка видоизменить массив таким...

Возможно ли сделать группировку столбцов таким образом, чтобы при 2 группах отображались оба 'плюса'?
Hi, All! Группирую в Экселе столбцы 2-8(B:H); потом группирую столбцы 2-5(B:E)(Данные/Группа и структура/Группировать). Снимаю...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru