Quiero generar alguna dirección IP aleatoria. Pero a la vez, esta función generateIPAddress devuelve 0.0.0.0 string como ipAddress. Pero debería devolver alguna ipAddress aleatoria distinta de 0.0.0.0 cada vez. Alguna sugerencia de por qué está sucediendo?Generar dirección IP aleatoria
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;
}
}
}
}
// Este es el método 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();
}
Quiero un poco al azar ipAddress básicamente por lo que he hardcoded partir bits de IPADDRESS en forma de p1, p2, p3 y el último bit debe ser 0.
Java no tiene tales como los parámetros de salida –
¿Qué significa eso? No pude entender? – AKIWEB
Oh, no importa; Pensé que querías asignar algo a p1/p2/p3, pero respondí con demasiada rapidez. Todavía no estoy seguro de qué debería hacer la modificación ('p3 + = inc;' etc.) después de llamar a 'generateIPAddress'. Debería haber dicho: Java no tiene variables estáticas a nivel de método, ya que la modificación de p1/p2/p3 se perderá después de abandonar el alcance del método. –