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

Как работает этот код

09.12.2018, 16:39. Показов 1296. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята подскажите. не могу понять как работает этот код.
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
public class Mix4 {
    int counter = 0;
 
    public static void main(String[] args) {
        int count = 0;
        Mix4[] m4a = new Mix4[20];
        int x = 0;
        while (x < 9) {
            m4a[x] = new Mix4();
            m4a[x].counter = m4a[x].counter + 1;
            count = count + 1;
            count = count + m4a[x].maybeNew(x);
            x = x + 1;
        }
        System.out.println(count + " " + m4a[1].counter);
    }
 
    public int maybeNew(int index) {
        if (index < 5) {
            Mix4 m4 = new Mix4();
            m4.counter = m4.counter + 1;
            return 1;
        }
        return 0;
    }
}
он выводит 14 и 1 . но как такие цифры получились я понять не могу. Код вроде понимаю но не весь . он пролистывает x с 0 по 8 как то складывает похоже их. как в формуле count = count + 1, count = count + m4a[x].maybeNew(x); получилось 14?? а в m4.counter = m4.counter + 1; получилось 1?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.12.2018, 16:39
Ответы с готовыми решениями:

Как работает этот код?
добрый день. подскажите, пожалуйста, как работает код, приведенный ниже (конкретно код класса CurrentThreadDemo, в комментариях я написал...

Объясните пожалуйста как работает этот код, как это объяснить преподавателю, кто шарит
Тут вначале понятно, тип матрица 5 на 5, дальше что за переменные? и что за условие в цикле выполняется не совсем понимаю, объяните плиз ...

Как будет этот код в Java
Тэг курсива. Дан текст, в котором встречаются структуры &lt;i&gt; и &lt;/i&gt;. Заменить каждое вхождение &lt;i&gt; на &lt;курсив&gt;, а каждое...

16
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
09.12.2018, 18:40
Aleasis, ознакомься https://www.cyberforum.ru/java/thread2250765.html
0
 Аватар для Aviz__
2744 / 2053 / 507
Регистрация: 17.02.2014
Сообщений: 9,473
10.12.2018, 09:02
Цитата Сообщение от Aleasis Посмотреть сообщение
не могу понять как работает этот код
а ты понимаешь, что и зачем он это делает? судя по коду его можно переписать намного проще!
0
0 / 0 / 0
Регистрация: 09.10.2018
Сообщений: 42
10.12.2018, 11:25  [ТС]
Aviz__,ну некоторые строки я понимаю. Тут объявляют перемененая экземпляра int counter = 0;(входная точка любой java программы public static void main(String[] args) ) потом две локальные переменые int count = 0; int x = 0; создают массив Mix4[] m4a = new Mix4[20];. Затем перелистываем x с 0 по 8 ( while (x < 9))каждый раз в конце цыкла увеличивая x = x + 1; вставляя его в формулу count = count + 1; типа с начало 0 потом 1 и тд. count =0 + 1; count = 1+ 1; count = 2 + 1;...... ...count = 8+ 1; не пойму как тут 14 получилось если все вычисления сложить в цикле не получается 14. далее если index от 0 до 5 прибавляем 1 и выводим второе число. еще 1 возвращаем зачем то.
может так- 1+2+3+4 и каждый раз еще +1+1+1+1 так что ли 14 получается?
0
 Аватар для Aviz__
2744 / 2053 / 507
Регистрация: 17.02.2014
Сообщений: 9,473
10.12.2018, 11:27
Aleasis,
Цитата Сообщение от Aviz__ Посмотреть сообщение
зачем он это делает?
какая задача решается?
0
0 / 0 / 0
Регистрация: 09.10.2018
Сообщений: 42
10.12.2018, 11:36  [ТС]
Aviz__, тут я хтел просто понять как программа считает по какой формуле еклипс вывела 14 и 1? понятно кто count = count + 1; но как там 14 получилось , а m4.counter = m4.counter + 1; тут как 1?? не могу понять
0
 Аватар для Aviz__
2744 / 2053 / 507
Регистрация: 17.02.2014
Сообщений: 9,473
10.12.2018, 11:40
Aleasis,
Цитата Сообщение от Aviz__ Посмотреть сообщение
какая задача решается?
или ты наш старый знакомый с шизой?
0
0 / 0 / 0
Регистрация: 09.10.2018
Сообщений: 42
10.12.2018, 11:49  [ТС]
есть варианты Варианты
кода:
х < 9
index < 5,
х < 20
index < 5,

X < 7
in d e x < 7,

X < 19
in d e x < 1
и возможные результаты 14 7, 9 5, 19 1, 14 1, 25 1,7 7, 20 1, 20 5.
мне не вбивая в эклипс как посчитать по этому коду где какай вот что мне нужно.
0
10.12.2018, 11:52

Не по теме:

Aleasis, искренне сочувствую, Бро!

0
0 / 0 / 0
Регистрация: 09.10.2018
Сообщений: 42
12.12.2018, 16:41  [ТС]
так бы и написали что сами не понимаете его. тут нет ни чего страшного все знать не возможно Бро)
0
485 / 411 / 126
Регистрация: 23.05.2016
Сообщений: 1,653
12.12.2018, 17:13
Цитата Сообщение от Aleasis Посмотреть сообщение
не пойму как тут 14 получилось если все вычисления сложить в цикле не получается 14. далее если index от 0 до 5 прибавляем 1 и выводим второе число
вот тут у вас бред написан. Никакое не "далее". С 18 по 25 строку вашего листинга написана функция maybeNew(), которая принимает в качестве параметра целое число. Если это число меньше пяти, то функция возвращает единицу, в противном случае возвращает ноль.

Вызов функции maybeNew() происходит в двенадцатой строке вашего листинга с параметром х. Как вы правильно заметили, х последовательно пробегает по значениям от нуля до восьми. Таким образом, присваивание
Java
1
count = count + m4a[x].maybeNew(x);
пять раз увеличит переменную count на единицу (при х = {0,1,2,3,4}) Вместе с девятью увеличениями на единицу в одиннадцатой строке как раз получается четырнадцать.
0
 Аватар для Aviz__
2744 / 2053 / 507
Регистрация: 17.02.2014
Сообщений: 9,473
12.12.2018, 18:19

Не по теме:

Цитата Сообщение от Aleasis Посмотреть сообщение
все знать не возможно Бро)
спасибо, утешил!
если ты приходишь в магаз и говоришь "дайте мне молока" а тебе в ответ "у нас водка не паленая!" и так несколько раз, то ты невольно задумаешься, что кассир с шизой...


еще раз: какую задачу решает этот кусок?
0
14.12.2018, 12:39

Не по теме:

Цель программы запутать. Никакого понимания программа не дает. Есть люди очень способные, которые за минуты могут вникнуть в код. Такое редкость. Я не из их числа. Цель программы выявить редкие способности, выявить талант если попадется. Хотя это вряд ли. Цель программы унизить программиста, и потом сказать, что он никуда не годится.

0
14.12.2018, 12:46

Не по теме:

vvm28, спорное мнение, хотя своя точка зрения - это прекрасно.
А все эти пертурбации в программе прекрасно отслеживаются дебаггером...

0
14.12.2018, 12:48

Не по теме:

Ну я так предполагаю, таких тестов с ограничениями по времени мне пришлось видеть сотни.

0
14.12.2018, 12:57

Не по теме:

Цитата Сообщение от vvm28 Посмотреть сообщение
Цель программы унизить программиста, и потом сказать, что он никуда не годится.
Это утверждение, вообще смехотворно!

0
Нарушитель
771 / 539 / 67
Регистрация: 22.12.2013
Сообщений: 2,498
Записей в блоге: 26
14.12.2018, 13:17
Цитата Сообщение от iSmokeJC Посмотреть сообщение
А все эти пертурбации в программе прекрасно отслеживаются дебаггером..
Это да. Но ТС же хочет, как я понимаю в уме посчитать.
Цитата Сообщение от Aleasis Посмотреть сообщение
мне не вбивая в эклипс как посчитать по этому коду где какай вот что мне нужно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.12.2018, 13:17
Помогаю со студенческими работами здесь

Как заставить работать этот код?
Здравствуйте, помогите разобраться с ошибкой. Это первая моя программа . Сильно не ругайтесь. Программа из текстового документа получает...

Как будет выглядеть этот код для простых чисел типа int
Срочно нужна небольшая помощь Это участок кода с применением BigInteger if (n.compareTo(f) &gt;= 0){ n = n.subtract(f); Как...

Объясните, как работает этот код
Есть такой код, кто-нибудь может объяснить, на что влияет роль &quot;поиск&quot; и главное, почему при нажатии на кнопку перекидывает на...

Почему этот код работает слишком медленно на телефоне?
package MyGame; import javax.microedition.lcdui.game.GameCanvas; import javax.microedition.lcdui.game.Sprite; import...

Как упростить этот код
import java.util.Scanner; public class Main { public static void main(String args) { Scanner sc = new...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru