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; } } Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.