我有以下代码来生成连续的 Mac 地址。如果我在创建 hextint 时静态定义字符串,则代码运行良好。但是,如果我将字符串更改为变量,如下所示,我会收到错误消息:线程“AWT-EventQueue-0”中的异常java.lang.NumberFormatException:对于输入字符串:“6CDFFB6000000A”我确定我在这里遗漏了一些简单的东西。为什么字符串作为变量没有转换?任何帮助表示赞赏。 String macAddr = last_mac.getText();// int qty = Integer.parseInt(label_qty.getText()); System.out.println("String to convert: " + macAddr); // long hexint = Long.parseLong("6CDFFB60000000", 16); long hexint = Long.parseLong(macAddr, 16); System.out.println("String converted to Long:" +hexint); System.out.println("10+ previous number:" + (10+hexint)); System.out.println("Convert back to hex: " + Long.toHexString(10+hexint).toUpperCase()); for(int i = 1; i < 10+1; i++){ System.out.println(i +" MAC: " + Long.toHexString(hexint + i).toUpperCase()); macAddr = Long.toHexString(hexint + i).toUpperCase(); }
1 回答
料青山看我应如是
TA贡献1772条经验 获得超8个赞
您的文本包含尾随空格。你应该通过trim()
方法删除它。试试下面的代码 & 它应该适合你。
String macAddr = last_mac.getText().trim();
添加回答
举报
0/150
提交
取消