{RESOLVIDO} Java (Pegando ip da máquina)

9 respostas
mau43100

Olá pessoal, estava vendo aqui no guj, queria saber como eu faço para pegar o endereço ip da máquina usando a linguagem java.

9 Respostas

Jeanderson_Silva

Bom para pegar o ip vc vai utilizar a Classe InetAddress do java
ex:

public static void main(String[] args) throws UnknownHostException {
        //pegamos o ip da maquina.
        String ipDaMaquina = InetAddress.getLocalHost().getHostAddress();
        System.out.println(ipDaMaquina);
        //nome da maquina.
        String nomeDaMaquina = InetAddress.getLocalHost().getHostName();
        System.out.println(nomeDaMaquina);
        
    }

a saída será no meu caso:

192.168.1.2
DESKTOP-10QPC6Q
mau43100

preciso importar alguma biblioteca?

Jeanderson_Silva

vc só precisar importar a classe que já está no JDK, no caso assim:

import java.net.InetAddress;
mau43100

na hora da importaçao das bibliotecas necessarias ele da erro…

mau43100

mau43100

da essas linhas de adveertencia, estou fazendo certo ?

Jeanderson_Silva

Clica na lâmpada que está com erro, provavelmente é erro de importação, já q nao estou vendo o import do InetAdress, vou enviar o código completo aqui:
Obs: Vc criou também uma Classe quem tem o mesmo nome da Classe do Java, isso pode fazer com que não saiba se vc ta falando da sua classe ou do Java:

import java.net.InetAddress;
import java.net.UnknownHostException;

/**
 *
 * @author Jeanderson
 */
//recomendo não coloca sua classe com o mesmo nome da Classe do Java
public class TesteIP {
    public static void main(String[] args) throws UnknownHostException {
        //pegamos o ip da maquina.
        String ipDaMaquina = InetAddress.getLocalHost().getHostAddress();
        System.out.println(ipDaMaquina);
        //nome da maquina.
        String nomeDaMaquina = InetAddress.getLocalHost().getHostName();
        System.out.println(nomeDaMaquina);
    }
    
}
Lucas_Camara

O problema é que você criou sua classe com o mesmo nome da classe da API do java e o import da classe correta não foi feito. Por isso está dando erro. Não há o método getLocalHost na classe que você criou (InetAddress). Recomendo que mude o nome da sua classe.

mau43100

Deu certo !

Criado 13 de junho de 2017
Ultima resposta 15 de jun. de 2017
Respostas 9
Participantes 3