Уберите
i = i + 1;
из цикла. Счетчик будет увеличиваться за счет условия i++.
Т.е. у Вас получается, что Вы заполнили нулевой элемент массива myDogs[0], затем сами увеличили счетчик на 1 (i = i + 1;) затем счетчик еще раз увеличился за счет конструкции i++ и во второй итерации цикла вы заполнили уже элемент под индексом 2, пропустив заполнение элемента под индексом 1. По-молчанию массив заполняется null-ами. Именно по этому вы получаете NullPointerException при попытке обратится к свойству name элемента под индексом 1.
Надеюсь доступно объяснил.