Estou desenvolvendo um programa em outra linguaguem ( nao entendo nada de Java), mas preciso de uma classe em java que retorne por variavel o ip local (Win), meu sistema vai acessar a classe e obter o ip.
Depois de muito pesquisar, consegui utilizando um metodo void, tentei alterar para string e incluir o return mas nao consigo.
Verifiquem se podem me ajudar por favor.
Segue o codigo:
publicclassIpLocal{publicstaticvoidmain(String[]args){newIpLocal().say();}publicvoidsay(){try{java.net.InetAddressi=java.net.InetAddress.getLocalHost();Stringip=i.getHostAddress();System.out.println(ip);// IP address only }catch(Exceptione){e.printStackTrace();}}}
Estou desenvolvendo um programa em outra linguaguem ( nao entendo nada de Java), mas preciso de uma classe em java que retorne por variavel o ip local (Win), meu sistema vai acessar a classe e obter o ip.
Depois de muito pesquisar, consegui utilizando um metodo void, tentei alterar para string e incluir o return mas nao consigo.
Verifiquem se podem me ajudar por favor.
Segue o codigo:
publicclassIpLocal{publicstaticvoidmain(String[]args){newIpLocal().say();}publicStringsay(){try{java.net.InetAddressi=java.net.InetAddress.getLocalHost();Stringip=i.getHostAddress();returnip;// IP address only }catch(Exceptione){e.printStackTrace();}}}
A
Apex
Opa, valeu pela reposta.
Tentei com o codigo que enviou mas nao deu certo, retorna a mensagem “missing return statement”
tem algo a ver com o exception ?
Ops... foi mal.
Isso ocorreu devido o método declarar um retorno e eu ter colocado o return apenas no catch, e caso ocorresse uma exception não teria retorno...
Pode ser assim também...
Caso tenha solucionado coloque edite seu post para RESOLVIDO.
flw
E
eraldoferreira
publicclassIpLocal{publicstaticvoidmain(String[]args){Stringip=say();System.out.println(ip);// IP address only}
publicstaticStringsay(){try{java.net.InetAddressi=java.net.InetAddress.getLocalHost();Stringip=i.getHostAddress();<ahref="//System.out.println">//System.out.println</a>(ip); // IP address onlyreturnip;}catch(Exceptione){e.printStackTrace();return“”;}}
}
todos os retornos quando são diferente de void precisam ser adicionados. Em condicionais ou tratamentos com try catch. Mas jah responderam. mesmo assim passo o seu código corrigido tb.
E
eraldoferreira
opa, esta ultima postagem do diego eh mais apropriada devido alguns padrões de programação. Primeiro a declaração
das variáveis para depois utiliza-la, com return unico neste caso. ateh