Io l'ho fatto in C usando le APi di windows e in java non lo so fare purtroppo (ma sono convinto che se cerchi un attimo esiste una classe che fornisce qualche metodo opportuno),ti faccio comunque qualche osservazione che mi sembra ugualmente pertinente:
-una stessa macchina può avere più indirizzi IP,ad esempio uno derivante dalla connessione ad una rete locale ed uno assegnato da un provider internet per la connessione al web,dovresti specificare quale ti interessa trovare
-se il tuo indirizzo è assegnato dinamicamente perchè magari usi una connessine dial-up,ti sarà possibile avere tale indirizzo solo se è attiva una connessione quindi nel tuo programma dovrai eventualmente testare questa condizione.
Ciao