Ошибка компилятора Java: "public type. должен быть определен в собственном файле"?

Я пытаюсь скомпилировать это:

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]);
        }
    }
}

я использовал javac dns.java, но я получаю беспорядок ошибок:

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)

Я никогда не компилировал/не делал Java раньше. Мне нужно только проверить результаты других программ. Есть идеи? Я компилирую на машине Linux.

4 ответов


файл должен быть назван DNSLookUp.java и нужно поставить:

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

в верхней части файла


переименуйте файл как DNSLookUp.java и импортировать соответствующие классы.

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]);
        }
    }
}

ответы, приведенные здесь, все хороши, но учитывая природу этих ошибок и в духе "научи человека рыбачить и т. д.":

  1. установить IDE по выбору (Netbeans легко начать с)
  2. настройте свой код как новый проект
  3. нажмите лампочку в строке, где происходит ошибка
  4. выберите исправление, которое вы хотите
  5. поразитесь силе инструментов, которые у вас есть

вам нужно импортировать классы, которые вы используете. например:

импорт java.net.*;

импортировать все классы из java.net пакет.

вы также не можете иметь открытый класс DNSLookUp в файле с именем dns.Ява. Похоже, пришло время для учебника Java...