我想生成一些随机的IP地址.但是加班这个generateIPAddress函数返回0.0.0.0字符串作为ipAddress.但是它应该每次都返回0.0.0.0以外的随机ipAddress.任何建议为什么会发生?
private void callingGeoService() { int p1 = 255; int p2 = 0; int p3 = 0; int inc = 5; String ipAddress = generateIPAddress(p1,p2,p3); p3 += inc; if (p3 > 255) { p3 = 0; p2 += inc; if (p2 > 255) { p2 = 0; p1--; if (p1 <= 0) { p1 = 0; } } } }
//这是generateIPAddress方法
private String generateIPAddress(int p1,int p2,int p3) { StringBuilder sb = null; int b1 = (p1 >> 24) & 0xff; int b2 = (p2 >> 16) & 0xff; int b3 = (p3 >> 8) & 0xff; int b4 = 0; String ip1 = Integer.toString(b1); String ip2 = Integer.toString(b2); String ip3 = Integer.toString(b3); String ip4 = Integer.toString(b4); //Now the IP is b1.b2.b3.b4 sb = new StringBuilder(); sb.append(ip1).append(".").append(ip2).append(".").append(ip3).append(".").append(ip4); // System.out.println(sb); return sb.toString(); }
解决方法
Random r = new Random(); return r.nextInt(256) + "." + r.nextInt(256) + "." + r.nextInt(256) + "." + r.nextInt(256);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。