I-Code für den Druck MAC-Adresse von Java habe, ist der CodeVerschiedene Ergebnisse, warum?
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();
}
aber ich habe Neugier darüber, und ich versuche, direkt mit
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("");
}
aber es nicht drucken Arbeit.
Die Ergebnisse sind
Current MAC address : 08-00-27-96-40-39
Current MAC address : 8-0-39--106-64-57
warum?
Vielen Dank im Voraus für Ihre Hilfe !!
Ich bekomme nicht den doppelten Bindestrich zwischen 39 und 106 obwohl. Irgendeine Idee, was dort vor sich geht? – Holloway
@Holloway Das ist, weil das OP einen negativen Bytewert "-106" druckt – Eran
Wooooww, eine großartige Erklärung !!! Vielen Dank!!! – visent