В моем классе драйвера:
for (systemClock = 0; systemClock < 200; systemClock = (systemClock + 1)){
if(((inputQueue.query()).arrivalTime()) == systemClock)
System.out.println(((inputQueue.remove()).removalTime()));
}
В классе вакансии:
public int arrivalTime()
{
return arrivalTime;
}
Моя проблема во второй строке кода.
if(((inputQueue.query()).arrivalTime()) == systemClock)
В классе мы сделали базовый QueueObject
с методом query()
, который возвращает объект, найденный в ПЕРЕДНЕЙ ЧАСТИ очереди. Каждый объект - это задание, в котором есть различные переменные и методы (все, что имеет значение в этом случае, - это «Время прибытия» этого объекта). Я пытаюсь заставить эту строку кода вернуть объект и вызвать метод arrivalTime()
/ узнать время прибытия от этого конкретного объекта.
Изменить: я получаю ошибку компиляции "не удается найти символ - метод прибытияTime ()"
Редактировать решение: извините за путаницу / плохие парни. Я прошу прощения. Вот решение, с которым я работал. Мне пришлось преобразовать объект, извлекаемый из очереди, как объект Job.
if((((Job)inputQueue.query()).arrivalTime()) == systemClock)
1 ответ
Попробуйте убрать лишние скобки и (на всякий случай) использовать неравенство:
if (inputQueue.query().arrivalTime() >= systemClock) {
// ...
}
Я предполагаю, что ваш метод query()
возвращает объект Job
(если это не так, значит проблема с вашим дизайном Queue
).
Итак, ваша проблема в том, что символ не найден.
Несколько советов:
- помечен ли метод прибытияTime () как закрытый? Если да, то это должно быть публично.
- Какой тип возвращает метод? Он должен иметь тот же тип, что и systemClock, и помните, что вы можете использовать == только с числами (int, long, double, ...). Если тип не сопоставим с ==, вам нужно создать метод compareTo () или equals ()
Похожие вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.
arrivalTime()
как закрытый? Если да, то это должно быть публично. И какой тип возвращает метод? Он должен иметь тот же тип, что иsystemClock
, и помните, что вы можете использовать==
только с числами (int
,long
,double
, ...). Если тип не сопоставим с==
, вам необходимо создать методcompareTo()
илиequals()
.