Riki_Tiki_Tavi Posted June 16, 2014 Report Share Posted June 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; } } Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.