Ошибка компилятора 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]);
}
}
}
ответы, приведенные здесь, все хороши, но учитывая природу этих ошибок и в духе "научи человека рыбачить и т. д.":
- установить IDE по выбору (Netbeans легко начать с)
- настройте свой код как новый проект
- нажмите лампочку в строке, где происходит ошибка
- выберите исправление, которое вы хотите
- поразитесь силе инструментов, которые у вас есть
вам нужно импортировать классы, которые вы используете. например:
импорт java.net.*;
импортировать все классы из java.net пакет.
вы также не можете иметь открытый класс DNSLookUp в файле с именем dns.Ява. Похоже, пришло время для учебника Java...