0 / 0 / 0
Регистрация: 31.03.2020
Сообщений: 38
1

Программа должна вывести дополнительный код пятизначного числа в java. Что не так с программой ?

06.04.2020, 20:10. Показов 579. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
public class Dost { 
          public void convertBinary(int num){
             int binary[] = new int[40];
             int index = 0;
             while(num > 0){
               binary[index++] = num%2;
               num = num/2;
             }
             
             System.out.print("Двоичная запись->");
            for(int i = index-1;i >= 0;i--){
               System.out.print(binary[i]);
             }
 
            
            for (int i = 1; i < 5; i++){// начинаем с 2 разряда , т.к. первый неприкасаемый
             if  (binary[index]>0 ) //  меняем единицы на нули 
              {binary[index]=binary[index]-1;
              }
            
             else{// меняем нули на единицы 
                 binary[index]=binary[index]+1; 
             }
            
                for( i = 0;i > 5;i++){//почему я не могу написать перед i int?????
                    //переходим в концу массива , т.е. к 4 элементу в массиве то бишь к последнему числу нашего двоичного кода
                     while(i > 3){
                         binary[index]=binary[index]+1; // прибавляем единицу  к первому разряду 
                         if (binary[index] == 2) {// если в 4 элементе стало 2 ,то с конца начинаем   смотреть  предпоследний элемент и ему прибавляем 1  а у  i-того одним .
                             for( i = index-1;i >= 0;i--)
                                {
                                 binary[index--]= binary[index--]+1;
                                 binary[index]= binary[index]-1;
                             }
                                  
                         }
                                 
                     }
                       System.out.print(binary[i]);
                     }
                
                                            }
        }
         
          public static void main(String a[]){
             Dost obj = new Dost();
             System.out.println("Введенное число:12345 ");
             obj.convertBinary(12345);//Пишем нужное нам число 
          }
        }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.04.2020, 20:10
Ответы с готовыми решениями:

Дополнительный код пятизначного числа в java
Нужно реализовать программу, которая будет выводить дополнительный код числа Дополнительный код...

Программа должна заменять МА на КО но что то не так написал
Подскажите где ошибка? Программа должна заменять МА на КО но что то не так написал #include...

Вывести на консоль значение мантиссы в двоичном представлении. Что не так с программой ?
public class Dost { public static void main(String args){ double d = 0.38; ...

Программа должна вывести все числа Фибоначчи в диапазон от до B
A program should output all Fibonacci numbers in the rage from a till b. a and b should be inputted...

3
201 / 119 / 85
Регистрация: 15.12.2016
Сообщений: 235
06.04.2020, 20:45 2
Надеюсь, теперь это работает, как и должно:
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
public class Dost { 
          public void convertBinary(int num){
             int binary[] = new int[40];
             int index = 0;
             while(num > 0){
               binary[index++] = num%2;
               num = num/2;
             }
             
             System.out.print("Двоичная запись->");
            for(int i = index-1;i >= 0;i--){
               System.out.print(binary[i]);
             }
 
            
            for (int j = 1; j < 5; j++){// начинаем с 2 разряда , т.к. первый неприкасаемый
             if  (binary[index]>0 ) //  меняем единицы на нули 
              {binary[index]=binary[index]-1;
              }
            
             else{// меняем нули на единицы 
                 binary[index]=binary[index]+1; 
             }
            
                for(int k = 0;k > 5;k++){//почему я не могу написать перед i int?????
                    //переходим в концу массива , т.е. к 4 элементу в массиве то бишь к последнему числу нашего двоичного кода
                     while(k > 3){
                         binary[index]=binary[index]+1; // прибавляем единицу  к первому разряду 
                         if (binary[index] == 2) {// если в 4 элементе стало 2 ,то с конца начинаем   смотреть  предпоследний элемент и ему прибавляем 1  а у  i-того одним .
                             for(int l = index-1;l >= 0;l--)
                                {
                                 binary[index--]= binary[index--]+1;
                                 binary[index]= binary[index]-1;
                             }
                                  
                         }
                                 
                     }
                       System.out.print(binary[k]);
                     }
                
                                            }
        }
         
          public static void main(String a[]){
             Dost obj = new Dost();
             System.out.println("Введенное число:12345 ");
             obj.convertBinary(12345);//Пишем нужное нам число 
          }
        }
Нельзя повторно объявлять одни и те же переменные, как вы объявляли i. Для каждого нового вложенного цикла нужна своя переменная
0
Эксперт Java
3638 / 2970 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
06.04.2020, 20:47 3
Цитата Сообщение от 3131Maxim3131 Посмотреть сообщение
for( i = 0;i > 5;i++){//почему я не могу написать перед i int?????
Цитата Сообщение от 3131Maxim3131 Посмотреть сообщение
for (int i = 1; i < 5; i++){// начинаем с 2 разряда , т.к. первый неприкасаемый
ниче не смущает?
0
0 / 0 / 0
Регистрация: 31.03.2020
Сообщений: 38
06.04.2020, 21:12  [ТС] 4
Программа заработала, но теперь выводит только обычное представление этого числа в двоичной сс, а надо обратный код
Битый час сижу, не могу понять как
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.04.2020, 21:12
Помогаю со студенческими работами здесь

Программа должна вывести на экран, введенные с клавиатуры числа, по возростанию
Здравствуйте. Программа должна вывести на экран, введенные с клавиатуры числа, по возростанию....

Программа получает на вход числа n и k и должна вывести количество школьников
Дело в том, что когда я решила эти задачи, я скинула программы на некий сайт...

Найдите ошибку программа должна вывести карту но,она не выводятся чётные числа
#include &lt;stdio.h&gt; int main() { int x; char z,y; printf(&quot;на карте нарисованна цифра ?\n&quot;);...

Программа должна вывести представление переданного её числа в нега-двоичной системе счисления
Нега-двоичная система счисления – это система счисления с основанием (-2). Основное преимущество...

Программа получает на вход три натуральных числа: x, p, y и должна вывести одно целое число
Уважаемые программисты, помогите пожалуйста решить ряд задач: 3)Вклад в банке составляет x...

Программа должна вывести 2 числа: сумму и номер строки, для которой эта сумма достигается
В метании молота состязается n спортcменов. Каждый из них сделал m бросков. Победителем считается...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru