У меня проблема с ошибкой компиляции пакета Java.

Вопрос или проблема

У меня проблема с ошибкой компиляции пакета Java.

Я получаю эту ошибку, когда компилирую декларацию пакета в Java через командную строку

javac -d .\java_shorts.java

.\java_shorts.java:3: ошибка: ожидался класс, интерфейс, перечисление или запись
package shorts;
^
1 ошибка

// файл java_shorts.java
import java.io.Printwriter;

package shorts;
public static class java_shorts
{

public static void command_line_output(String string_input)
{
  System.out.print(string_input);

}
public static int random_number_generator_range_exclude_data_base()
{

}
public static void hello_world()
{

  command_line_output("hello_world \n\n");
}

}
//////////////////// 

///// основной файл вызова

import account_methods.account_core;
import shorts.java_shorts;

public class account_main
{
public static void main (String args[])
{
  java_shorts short_java = new java_shorts();

  short_java.hello_world();

}
}

Я надеялся импортировать класс из внешнего файла.

Определение пакета должно быть перед определениями импорта.

package shorts;

import java.io.Printwriter;

Ответ или решение

Конечно, я помогу вам решить проблему, с которой вы сталкиваетесь при компиляции Java пакета. Ошибка, которую вы видите, связана с тем, что определение пакета должно находиться перед любыми импортами в вашем файле.

Исправления

  1. Переместите определение пакета (package shorts;) перед строкой импорта. Это означает, что код вашего файла java_shorts.java должен выглядеть так:
package shorts;

import java.io.PrintWriter; // исправьте Printwriter на PrintWriter, чтобы соответствовать именам классов в Java

public class java_shorts { // уберите static перед классом

    public static void command_line_output(String string_input) {
        System.out.print(string_input);
    }

    public static int random_number_generator_range_exclude_data_base() {
        // Реализация вашего метода
        return 0; // Временно возвращаем 0
    }

    public static void hello_world() {
        command_line_output("hello_world \n\n");
    }
}
  1. Убедитесь, что вы используете правильную команду для компиляции. Для компиляции с определением пакета вам нужно указать путь к папке, а не к самому .java файлу:
javac -d . java_shorts.java

Эта команда создаст структуру папок, соответствующую вашему пакету, и скомпилирует класс java_shorts в папку shorts.

  1. Далее, убедитесь, что вы правильно импортируете класс в вашем основном файле account_main.java:
import account_methods.account_core;
import shorts.java_shorts;

public class account_main {
    public static void main(String[] args) {
        java_shorts short_java = new java_shorts();
        short_java.hello_world();
    }
}
  1. Компилируйте account_main.java аналогичным образом:
javac -d . account_main.java

Итог

После выполнения указанных шагов ваши файлы должны компилироваться без ошибок. Не забудьте, что структура ваших файлов должна соответствовать пакетам. То есть, если вы используете пакет shorts, то класс java_shorts должен находиться в папке shorts. Если у вас есть дополнительные вопросы или случаи, когда вы сталкиваетесь с ошибками, не стесняйтесь спрашивать!

Оцените материал
Добавить комментарий

Капча загружается...