Riki_Tiki_Tavi Опубликовано 16 июня, 2014 Жалоба Поделиться Опубликовано 16 июня, 2014 Всем привет! Изучаю Java по книге "Head First Java", в конце главы есть задача, и вот такой код:Пожалуйста поясните построчно, что и где происходит? А то я никак не пойму...(+ в IntelliJ IDEA ошибка при компиляции Exception in thread "main" java.lang.NullPointerException в строке m4a[x].counter = m4a[x].counter + 1;)Кстати там где while() и if() в скобках в книге пропуски, нужно подставить условия с книги и сказать что будет. Но я не пойму что в коде. Свой комментария я написал, а вы подскажет) public class Mix4 { int counter = 0; //Задал счетчик public static void main(String[] args){ int count = 0; //Задал второй счетчик??? Mix4 [] m4a = new Mix4[20]; // Создал массив m4a состоящий из 20 елементов. int x = 0; //задал переменную х while (x < 20){//цикл будет работать пока х меньше 20 m4a[x].counter = m4a[x].counter + 1; //тут мне не очень понятно, я так понял что записываю в массив значения? а для чего тогда ссылка на .counter? count = count + 1; // зачем это?! я думаю тут можно заменить на count++; ?? count = count + m4a[x].maybeNew(x); // тут тоже не ясно для чего всё, как я понял будет 1 + 1.(1); x++; } System.out.println(count + "" + m4a[1].counter);//выведет 1 + второй елемент массива? } public int maybeNew(int index){//метод для чего? if(index < 5){ Mix4 m4 = new Mix4(); //ссылка m4 m4.counter = m4.counter + 1;// всё завязано на counter, но зачем? return 1; } return 0; } } Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти