Форум программистов, компьютерный форум, киберфорум
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. Показов 45757. Ответов 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__
2762 / 2069 / 510
Регистрация: 17.02.2014
Сообщений: 9,507
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
Ответ Создать тему
Новые блоги и статьи
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru