How can I determine the address from a private key?
Both &quot;1LoVG..&quot; and the other one are valid legacy (1...) addresses made using the same private key. They are different since one of them uses the compressed public key (you might want to look this up) while 1GAehh7 uses the uncompressed public key. Always use the same compress-format for an address, and it's advisable to create new addresses in compressed format since it saves bytes and transaction fees.
To make the uncompressed-public-keyed address (compressed is the default in BitcoinJ):
ECKey key = ECKey.fromPrivate(privkey);
key = key.decompress();
String address = LegacyAddress.fromKey(params, key).toString();