Как мне позвонить, чтобы запустить другой класс из отдельного пакета? - PullRequest
0 голосов
/ 03 мая 2019

В настоящее время я пишу программу системы инвентаризации, и мне нужна помощь с ней.У меня есть склады и продукты, продукты, являющиеся дочерними для складов.Я так пробовал, где я выбираю депо с помощью оператора if и системы графического интерфейса, если введен, например, 1, запустить файл javascript, который вместо этого вызывает аналогичную систему меню для продуктов.Файл, который должен быть запущен, находится в отдельном пакете от файла, из которого я хочу вызвать его.Как бы я пошел по этому поводу?Я много пробовал, но потерпел неудачу

public void showAll() {
    int IID = 0;
    System.out.println("--All depots--");
    System.out.println("ID\tName\t\tTotal Products");
    for (int i = 0; i < this.pm.count(); i++) {
        Depot p = this.pm.getDepot(i);
        System.out.println(p.getId() + "\t" + p.getName()+"\t");
    }
    int num = -1;
    while(num < 0)
    {
    System.out.println("Select:\n(1): Depot 1\n(2): Depot 2\n(0): Exit");
    num = readInt(0, Integer.MAX_VALUE);
    }
    if (num == 1) {
        // run the file productconsole for the first depot
    }
    else if (num ==2) {
        // run the file productconsole2 for the second depot
    }

}

Я хочу, чтобы там, где есть комментарии, я смог запустить java-файл консоли продукта (соответственно ProductConsole1 и ProductConsole2).

СпасибоПожалуйста: D

1 Ответ

0 голосов
/ 03 мая 2019

Попробуйте это ...

Учитывая случай, когда проект выглядит следующим образом

Java project

Чтобы использовать класс из другого пакета, вы должны обязательно импортировать пакет и класс. Код будет выглядеть так:


ThisClass.java

package bar;
import java.util.Scanner;

import foo.pkg.ThatClass;

public class ThisClass {
    public static void main(String[] args) {
        try {
            Scanner in = new Scanner(System.in);

            String answer = "";

            System.out.print("Please enter Y or N: ");
            answer = in.next();

            if (answer.toUpperCase().equals("Y"))
                // Call another class' main function.
                ThatClass.main(null);
            else {
                System.out.println("You entered the wrong value.");
            }

            in.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}

ThatClass.java

package foo.pkg;

public class ThatClass {
    public static void main(String[] args) {
        System.out.println("ThatClass is here!");
    }
}

Результат:

Пожалуйста, введите Y или N: Y

Это класс здесь!

Надеюсь, это поможет:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...