Вообщем зачем нам явно преобразовывать числа в массиве в байты, если мы их и так заносим в байтовый массив, и еще по поводу метода print зачем нам нужен метод который переводит в двоичный код если байты (насколько мне известно и так являются двоичным кодом). У меня какая то путаница в голове насчет этих байтов.
package com.javarush.task.task21.task2101;
/*
Определяем адрес сети
*/
public class Solution {
public static void main(String[] args) {
byte[] ip = new byte[]{(byte) 192, (byte) 168, (byte)1, (byte)2};
byte[] mask = new byte[]{(byte) 255, (byte) 255, (byte) 254, (byte)0};
byte[] netAddress = getNetAddress(ip, mask);
print(ip); //11000000 10101000 00000001 00000010
print(mask); //11111111 11111111 11111110 00000000
print(netAddress); //11000000 10101000 00000000 00000000
}
public static byte[] getNetAddress(byte[] ip, byte[] mask) {
byte[]bytes = new byte[ip.length];
for(int i = 0; i < ip.length; i++){
bytes[i] = (byte)(ip[i]&mask[i]);
}
return bytes;
}
public static void print(byte[] bytes) {
}
}