나는 자바에서 인쇄 MAC 주소에 대한 코드를 코드는다른 결과, 왜?
InetAddress ip;
try {
ip = InetAddress.getLocalHost();
System.out.println("Current IP address : " + ip.getHostAddress());
NetworkInterface network = NetworkInterface.getByInetAddress(ip);
byte[] mac = network.getHardwareAddress();
System.out.print("Current MAC address : ");
StringBuilder sb = new StringBuilder();
for (int i = 0; i < mac.length; i++) {
sb.append(String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : ""));
}
System.out.println(sb.toString());
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (SocketException e){
e.printStackTrace();
}
하지만 난 이것에 대해 호기심을 가지고, 나는
System.out.print("Current MAC address : ");
for (int i = 0; i < mac.length; i++) {
System.out.print(mac[i]);
if (i < mac.length - 1)
System.out.print("-");
else
System.out.print("");
}
로 직접 인쇄하기 위해 노력하고있어하지만 그렇지 않습니다 작업.
결과는
Current MAC address : 08-00-27-96-40-39
Current MAC address : 8-0-39--106-64-57
이유
이다?도움을 주셔서 감사합니다.
39와 106 사이에 이중 하이픈이 표시되지 않습니다. 무슨 일이 벌어지는 지 알아? – Holloway
@Holloway OP가 음수 바이트 값 "-106"을 출력하기 때문입니다 – Eran
Wooooww, 큰 설명 !!! 감사!!! – visent