Erro do compilador Java: “tipo público… deve ser definido em seu próprio arquivo”?

Eu estou tentando compilar isso:

public class DNSLookUp { public static void main(String[] args) { InetAddress hostAddress; try { hostAddress = InetAddress.getByName(args[0]); System.out.println (hostAddress.getHostAddress()); } catch (UnknownHostException uhe) { System.err.println("Unknown host: " + args[0]); } } } 

Eu usei o javac dns.java, mas estou com uma confusão de erros:

 dns.java:1: error: The public type DNSLookUp must be defined in its own file public class DNSLookUp { ^^^^^^^^^ dns.java:3: error: InetAddress cannot be resolved to a type InetAddress hostAddress; ^^^^^^^^^^^ dns.java:6: error: InetAddress cannot be resolved hostAddress = InetAddress.getByName(args[0]); ^^^^^^^^^^^ dns.java:9: error: UnknownHostException cannot be resolved to a type catch (UnknownHostException uhe) { ^^^^^^^^^^^^^^^^^^^^ 4 problems (4 errors) 

Eu nunca compilei / fiz Java antes. Eu só preciso disso para testar os resultados dos meus outros programas. Alguma ideia? Eu estou compilando em uma máquina Linux.

O arquivo precisa ser chamado DNSLookUp.java e você precisa colocar:

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

No topo do arquivo

Renomeie o arquivo como DNSLookUp.java e importe as classs apropriadas.

 import java.net.InetAddress; import java.net.UnknownHostException; public class DNSLookUp { public static void main(String[] args) { InetAddress hostAddress; try { hostAddress = InetAddress.getByName(args[0]); System.out.println(hostAddress.getHostAddress()); } catch (UnknownHostException uhe) { System.err.println("Unknown host: " + args[0]); } } } 

As respostas dadas aqui são todas boas, mas dada a natureza desses erros e no espírito de ‘ensinar um homem a pescar, etc, etc’:

  1. Instale IDE de escolha (o NetBeans é fácil de começar)
  2. Configure seu código como um novo projeto
  3. Clique na lâmpada na linha onde o erro ocorreu
  4. Selecione a correção que você deseja
  5. Maravilhe-se com o poder das ferramentas que você tem disponível

Você precisa importar as classs que está usando. por exemplo:

import java.net. *;

Para importar todas as classs do pacote java.net.

Você também não pode ter uma class pública DNSLookUp em um arquivo chamado dns.java. Parece que é hora de um tutorial Java …