Desidero generare un indirizzo IP casuale. Ma al tempo stesso questa funzione generateIPAddress restituisce 0.0.0.0 stringa come ipAddress. Ma dovrebbe ritornare qualche indirizzo ip casuale diverso da 0.0.0.0 ogni volta. Qualche suggerimento perché sta succedendo?Genera indirizzo IP casuale
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;
}
}
}
}
// Questo è il metodo 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();
}
Voglio un po 'casuale ipAddress fondamentalmente così ho hardcoded partire bit indirizzoip in forma di p1, p2, p3 e ultimo bit dovrebbe essere 0.
Java non ha una cosa come parametri esterni –
Cosa significa? Non ero in grado di capire? – AKIWEB
Oh, non importa; Ho pensato che volessi assegnare qualcosa a p1/p2/p3, ma ho risposto un po 'troppo velocemente. Non si sa ancora cosa dovrebbe fare la modifica ('p3 + = inc;' ecc.) Dopo aver chiamato 'generateIPAddress'. Avrei dovuto dire: Java non ha variabili statiche a livello di metodo, poiché la modifica di p1/p2/p3 andrà persa dopo aver abbandonato l'ambito del metodo. –