Member 13770523 Ответов: 2

Java-вопрос .... Мне нужна помощь


ЯВА

Очередь - это абстрактная структура данных, в которой элементы добавляются сзади и удаляются спереди. Эту структуру часто называют структурой FIRST IN FIRST OUT (FIFO).
Есть много примеров очередей в “реальном мире”: (1) очереди – например, стояние в очереди за билетами в кино, (2) наша пищеварительная система и (3) автомобили, движущиеся по одной полосе улицы с односторонним движением.
Перед началом работы убедитесь, что вы понимаете типичные действия очереди, такие как enqueue (), dequeue (), size (), isEmpty ().
К этому заданию прилагается ZIP-файл, предоставленный в Blackboard. Загрузите ZIP-файл и распакуйте его содержимое. Не перемещайте ни один из файлов в пределах папки, созданной при распаковке файла. Заархивированный файл содержит:
1. Командная Очередь.Java-файл
2. А StudentRoster.txt файл
3. Папка jsjf
Вы начнете с TeamQueue.java-файл для завершения вашей работы. TeamQueue.java должна будет использовать класс CircularArrayQueue и интерфейс QueueADT (предоставленный в папке jsjf и обсуждаемый в главе, которую Вы читаете на этой неделе), а также StudentRoster.txt файл.
Тот самый StudentRoster.txt файл содержит список студентов, посещающих часовой семинар по коду в BCTC. Для получения дополнительной информации об этой международной инициативе – проверьте www.code.org
Мероприятие "Час кода “будет систематически делить этих студентов на 8”команд". Каждая команда будет
назначена конкретная компьютерная лаборатория:
Команда 1 будет находиться в комнате 221
Команда 2 будет находиться в комнате 222
Команда 3 будет находиться в комнате 233
Группа 4 будет находиться в комнате 114
Команда 5 будет находиться в комнате 215
Команда 6 будет находиться в комнате 216
Команда 7 будет находиться в комнате 117
Команда 8 будет находиться в комнате 308
Часть 1:
Обновите TeamQueue.java для чтения имен студентов из StudentRoster.txt файл, храните имена
в очереди и последовательно распределите каждого ученика по 1 из 8 команд. Первый студент назначается на
команда 1, вторая команда 2, третья команда 3, ..., восьмой студент назначается в команду 8,
девятый студент назначается в команду 1, десятый студент назначается в команду 2 и т. д.
Используйте класс Scanner для чтения строк (имен) из StudentRoster.txt файл. Поместите каждое имя в поле
очередь. (Ранее в классе вы научились читать из текстовых файлов.)
После того как каждое имя окажется в очереди, прочтите каждое имя из очереди (в порядке FIFO) и создайте отчет
(форматированный выходной файл), в котором перечислены командные задания. Включите заголовки, дату отчета и
подсчитайте в конце отчета общее количество студентов участвующих в Часе кода
событие. В отчете должен быть указан номер команды каждого студента и расположение комнаты. Пример вывода для
студенческий раздел отчета может быть следующим:
Команда Осии А. Джонсона 1 (Комната 220)
Лиззи Джей Томсон Команда 2 (Комната 222)
Дебора А. Макмайкл Команда 3 (Комната 209)
Джозеф А. Рид Команда 4 (Комната 207)
Бритни Э. Паркер Команда 5 (Комната 312)
Мелисса Р. Флинн Команда 6 (Комната 310)
Молли М. Йохансон Команда 7 (Комната 203)
Фрэнк К. Москеда Команда 8 (Комната 315)
Патриция К. Кэннон Команда 1 (Комната 220)
Команда Шарлин Р. Сирс 2 (Комната 222)
И т.д.
Часть 2
Скопируйте вашу программу и создайте вторую версию. Назовите вторую версию TeamQueues2
Теперь когда часть 1 работает вы знаете что можете добавлять вещи в очередь и удалять вещи из очереди
и назначьте студента в правильную команду.
Измените программу так, чтобы она загружала данные в очередь, но не удаляла их
и назначить их в команду пока не удалось.
Затем спросите пользователя, что он хочет сделать:
(1) добавьте еще одного студента с клавиатуры (для студентов, которые регистрируются поздно на сайте)
(2) Удалите студента из очереди и назначьте его в команду
(3) завершение программы
Эта новая функция позволит вам увидеть нормальное функционирование очереди (некоторые идут в очередь,
некоторые выходят, но не обязательно все одновременно).
Обратите внимание, что в части 2 вы не удаляете всех студентов сразу. Вы удаляете только то, что указывает пользователь
сформируйте пункты меню (1, 2 или 3).

TeamQueue.java

/* --------------------------------

Fill in your information here

--------------------------------- */

import jsjf.CircularArrayQueue;

import java.util.Scanner;

import java.io.*;

public class TeamQueue

{

/* This program should use the Scanner class to input names from a file

Each name is placed in a queue.

Each name is then removed from the queue in order and assigned to a team number

The team number and names are then displayed.

*/

public static void main (String[] args)

{

CircularArrayQueue queue = new CircularArrayQueue();

}

}


StudentRoster.txt

Hosea A. Johnson
Lizzie J. Thomson
Deborah A. McMichael
Joseph A. Reid
Brittney E. Parker
Melissa R. Flynn
Molly M. Johanson
Frank K. Mosqueda
Patricia C. Cannon
Charlene R. Sears
Emily J. Washington
Laverne G. Peppers
Ahmad E. Lovelady
Linda C. Miranda
Ruth R. Caprio
Dewey D. Berger
Joel D. Jordan
Kathleen C. Martin
Marjorie S. Lyons
Connie S. Harris
Sandra K. Harshbarger
Eugene H. Farley
Frankie T. Redd
Frank M. Hagerman
George A. Martin
Troy A. Garcia
Leslie H. Smith
Bernita S. Mayer
Patrica J. Williamson
Barry L. Jean
Armando R. Simental
Jill M. Marshall
Michael M. Westerman
Allison C. Glickman
Micheal O. Hardin
Mary T. Ali
Kay R. Reyes
Lynne L. Burris
Cathy D. Olmsted
Hildegard B. Twombly
Joseph S. Feldman
Sarah J. Moses
Marilyn R. Ellis
Walker D. Ouellette
Tammy L. Fuller
Steven S. Coleman
Vincent M. Fraser
John S. Bugarin
Scott M. Shell
Justin M. Edwards
Alicia C. Smith
Roosevelt A. Yandell
Kimberly W. Hart
Cynthia A. Campbell
Thomas J. Rodriquez
Catherine J. Henson
Courtney S. Wiggins
Anthony C. Yoder
David P. Manley
Ann A. Gilbert
Miguel M. Garceau
Trevor M. Miller
Barry P. Johnson
Amber T. Martinez
Rosa S. Delbosque
Don J. Beeson
Jonathon J. Walker
Jason J. Johnson
Marianne P. Niemi
Catherine T. Wilkerson
Mitchell A. Gomez
William J. Hendrick
Gerda A. Peterson
Wayne S. McRae
Randall M. Houston
Miguel J. Kearse


CircularArrayQueue.java

package jsjf;

import jsjf.exceptions.*;

/**

* CircularArrayQueue represents an array implementation of a queue in

* which the indexes for the front and rear of the queue circle back to 0

* when they reach the end of the array.

*

* @author Java Foundations

* @version 4.0

*/

public class CircularArrayQueue implements QueueADT

{

private final static int DEFAULT_CAPACITY = 100;

private int front, rear, count;

private T[] queue;

  

/**

* Creates an empty queue using the specified capacity.

* @param initialCapacity the initial size of the circular array queue

*/

public CircularArrayQueue (int initialCapacity)

{

front = rear = count = 0;

queue = (T[]) (new Object[initialCapacity]);

}

  

/**

* Creates an empty queue using the default capacity.

*/

public CircularArrayQueue()

{

this(DEFAULT_CAPACITY);

}   

/**

* Adds the specified element to the rear of this queue, expanding

* the capacity of the queue array if necessary.

* @param element the element to add to the rear of the queue

*/

public void enqueue(T element)

{

if (size() == queue.length)

expandCapacity();

  

queue[rear] = element;

rear = (rear+1) % queue.length;

  

count++;

}

/**

* Creates a new array to store the contents of this queue with

* twice the capacity of the old one.

*/

private void expandCapacity()

{

T[] larger = (T[]) (new Object[queue.length *2]);

  

for (int scan = 0; scan < count; scan++)

{

larger[scan] = queue[front];

front = (front + 1) % queue.length;

}

  

front = 0;

rear = count;

queue = larger;

}

/**

* Removes the element at the front of this queue and returns a

* reference to it.

* @return the element removed from the front of the queue

* @throws EmptyCollectionException if the queue is empty

*/

public T dequeue() throws EmptyCollectionException

{

if (isEmpty())

throw new EmptyCollectionException("queue");

  

T result = queue[front];

queue[front] = null;

front = (front+1) % queue.length;

  

count--;

  

return result;

}

  

/**

* Returns a reference to the element at the front of this queue.

* The element is not removed from the queue.  

* @return the first element in the queue

* @throws EmptyCollectionException if the queue is empty

*/

public T first() throws EmptyCollectionException

{

if (isEmpty())

throw new EmptyCollectionException("queue");

  

return queue[front];

}

  

/**

* Returns true if this queue is empty and false otherwise.

* @return true if this queue is empty

*/

public boolean isEmpty()

{

return (count == 0);

}

  

/**

* Returns the number of elements currently in this queue.

* @return the size of the queue

*/

public int size()

{

return count;

}

  

/**

* Returns a string representation of this queue.

* @return the string representation of the queue

*/

public String toString()

{

String result = "";

int index = front;

  

for (int scan = 0; scan < count; scan++)

{

result += queue[index];

index = (index + 1) % queue.length;

}

  

return result;

}

}

QueueADT.java

package jsjf;

import jsjf.exceptions.*;

/**

* CircularArrayQueue represents an array implementation of a queue in

* which the indexes for the front and rear of the queue circle back to 0

* when they reach the end of the array.

*

* @author Java Foundations

* @version 4.0

*/

public class CircularArrayQueue implements QueueADT

{

private final static int DEFAULT_CAPACITY = 100;

private int front, rear, count;

private T[] queue;

  

/**

* Creates an empty queue using the specified capacity.

* @param initialCapacity the initial size of the circular array queue

*/

public CircularArrayQueue (int initialCapacity)

{

front = rear = count = 0;

queue = (T[]) (new Object[initialCapacity]);

}

  

/**

* Creates an empty queue using the default capacity.

*/

public CircularArrayQueue()

{

this(DEFAULT_CAPACITY);

}   

/**

* Adds the specified element to the rear of this queue, expanding

* the capacity of the queue array if necessary.

* @param element the element to add to the rear of the queue

*/

public void enqueue(T element)

{

if (size() == queue.length)

expandCapacity();

  

queue[rear] = element;

rear = (rear+1) % queue.length;

  

count++;

}

/**

* Creates a new array to store the contents of this queue with

* twice the capacity of the old one.

*/

private void expandCapacity()

{

T[] larger = (T[]) (new Object[queue.length *2]);

  

for (int scan = 0; scan < count; scan++)

{

larger[scan] = queue[front];

front = (front + 1) % queue.length;

}

  

front = 0;

rear = count;

queue = larger;

}

/**

* Removes the element at the front of this queue and returns a

* reference to it.

* @return the element removed from the front of the queue

* @throws EmptyCollectionException if the queue is empty

*/

public T dequeue() throws EmptyCollectionException

{

if (isEmpty())

throw new EmptyCollectionException("queue");

  

T result = queue[front];

queue[front] = null;

front = (front+1) % queue.length;

  

count--;

  

return result;

}

  

/**

* Returns a reference to the element at the front of this queue.

* The element is not removed from the queue.  

* @return the first element in the queue

* @throws EmptyCollectionException if the queue is empty

*/

public T first() throws EmptyCollectionException

{

if (isEmpty())

throw new EmptyCollectionException("queue");

  

return queue[front];

}

  

/**

* Returns true if this queue is empty and false otherwise.

* @return true if this queue is empty

*/

public boolean isEmpty()

{

return (count == 0);

}

  

/**

* Returns the number of elements currently in this queue.

* @return the size of the queue

*/

public int size()

{

return count;

}

  

/**

* Returns a string representation of this queue.

* @return the string representation of the queue

*/

public String toString()

{

String result = "";

int index = front;

  

for (int scan = 0; scan < count; scan++)

{

result += queue[index];

index = (index + 1) % queue.length;

}

  

return result;

}

}


Что я уже пробовал:

ЯВА

Очередь - это абстрактная структура данных, в которой элементы добавляются сзади и удаляются спереди. Эту структуру часто называют структурой FIRST IN FIRST OUT (FIFO).
Есть много примеров очередей в “реальном мире”: (1) очереди – например, стояние в очереди за билетами в кино, (2) наша пищеварительная система и (3) автомобили, движущиеся по одной полосе улицы с односторонним движением.
Перед началом работы убедитесь, что вы понимаете типичные действия очереди, такие как enqueue (), dequeue (), size (), isEmpty ().
К этому заданию прилагается ZIP-файл, предоставленный в Blackboard. Загрузите ZIP-файл и распакуйте его содержимое. Не перемещайте ни один из файлов в пределах папки, созданной при распаковке файла. Заархивированный файл содержит:
1. Командная Очередь.Java-файл
2. А StudentRoster.txt файл
3. Папка jsjf
Вы начнете с TeamQueue.java-файл для завершения вашей работы. TeamQueue.java должна будет использовать класс CircularArrayQueue и интерфейс QueueADT (предоставленный в папке jsjf и обсуждаемый в главе, которую Вы читаете на этой неделе), а также StudentRoster.txt файл.
Тот самый StudentRoster.txt файл содержит список студентов, посещающих часовой семинар по коду в BCTC. Для получения дополнительной информации об этой международной инициативе – проверьте www.code.org
Мероприятие "Час кода “будет систематически делить этих студентов на 8”команд". Каждая команда будет
назначена конкретная компьютерная лаборатория:
Команда 1 будет находиться в комнате 221
Команда 2 будет находиться в комнате 222
Команда 3 будет находиться в комнате 233
Группа 4 будет находиться в комнате 114
Команда 5 будет находиться в комнате 215
Команда 6 будет находиться в комнате 216
Команда 7 будет находиться в комнате 117
Команда 8 будет находиться в комнате 308
Часть 1:
Обновите TeamQueue.java для чтения имен студентов из StudentRoster.txt файл, храните имена
в очереди и последовательно распределите каждого ученика по 1 из 8 команд. Первый студент назначается на
команда 1, вторая команда 2, третья команда 3, ..., восьмой студент назначается в команду 8,
девятый студент назначается в команду 1, десятый студент назначается в команду 2 и т. д.
Используйте класс Scanner для чтения строк (имен) из StudentRoster.txt файл. Поместите каждое имя в поле
очередь. (Ранее в классе вы научились читать из текстовых файлов.)
После того как каждое имя окажется в очереди, прочтите каждое имя из очереди (в порядке FIFO) и создайте отчет
(форматированный выходной файл), в котором перечислены командные задания. Включите заголовки, дату отчета и
подсчитайте в конце отчета общее количество студентов участвующих в Часе кода
событие. В отчете должен быть указан номер команды каждого студента и расположение комнаты. Пример вывода для
студенческий раздел отчета может быть следующим:
Команда Осии А. Джонсона 1 (Комната 220)
Лиззи Джей Томсон Команда 2 (Комната 222)
Дебора А. Макмайкл Команда 3 (Комната 209)
Джозеф А. Рид Команда 4 (Комната 207)
Бритни Э. Паркер Команда 5 (Комната 312)
Мелисса Р. Флинн Команда 6 (Комната 310)
Молли М. Йохансон Команда 7 (Комната 203)
Фрэнк К. Москеда Команда 8 (Комната 315)
Патриция К. Кэннон Команда 1 (Комната 220)
Команда Шарлин Р. Сирс 2 (Комната 222)
И т.д.
Часть 2
Скопируйте вашу программу и создайте вторую версию. Назовите вторую версию TeamQueues2
Теперь когда часть 1 работает вы знаете что можете добавлять вещи в очередь и удалять вещи из очереди
и назначьте студента в правильную команду.
Измените программу так, чтобы она загружала данные в очередь, но не удаляла их
и назначить их в команду пока не удалось.
Затем спросите пользователя, что он хочет сделать:
(1) добавьте еще одного студента с клавиатуры (для студентов, которые регистрируются поздно на сайте)
(2) Удалите студента из очереди и назначьте его в команду
(3) завершение программы
Эта новая функция позволит вам увидеть нормальное функционирование очереди (некоторые идут в очередь,
некоторые выходят, но не обязательно все одновременно).
Обратите внимание, что в части 2 вы не удаляете всех студентов сразу. Вы удаляете только то, что указывает пользователь
сформируйте пункты меню (1, 2 или 3).

TeamQueue.java

/* --------------------------------

Заполните свою информацию здесь

--------------------------------- */

импорт jsjf.CircularArrayQueue;

импорт java.util.Сканер;

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

публичный класс TeamQueue

{

/* Эта программа должна использовать класс Scanner для ввода имен из файла

Каждое имя помещается в очередь.

Затем каждое имя удаляется из очереди по порядку и присваивается номеру команды

Затем отображаются номер команды и ее имена.

*/

публичный статический пустота главный (строка[] аргументы)

{

CircularArrayQueue queue = новый CircularArrayQueue();

}

}

StudentRoster.txt

Осия А. Джонсон
Лиззи Джей Томсон
Дебора А. Макмайкл
Джозеф А. Рид
Бритни Э. Паркер
Мелисса Р. Флинн
Молли М. Йохансон
Фрэнк К. Москеда
Патриция К. Кэннон
Шарлин Р. Сирс
Эмили Джей Вашингтон
Лаверн Г. Перцы
Ахмад Э. Лавледи
Линда К. Миранда
Рут Р. Каприо
Дьюи Д. Бергер
Джоэл Д. Джордан
Кэтлин К. Мартин
Марджори С. Лайонс
Конни С. Харрис
Сандра К. Харшбаргер
Юджин Х. Фарли
Фрэнки Т. Редд
Фрэнк М. Хагерман
Джордж А. Мартин
Трой А. Гарсия
Лесли Х. Смит
Бернита С. Майер
Патрика Дж. Уильямсон
Барри Л. Джин
Армандо Р. Сименталь
Джилл М. Маршалл
Майкл М. Вестерман
Эллисон К. Гликман
Майкл О. Хардин
Мэри Т. Али
Кей Р. Рейес
Линн Л. Баррис
Кэти Д. Олмстед
Хильдегарда Б. Туомбли
Джозеф С. Фельдман
Сара Джей Мозес
Мэрилин Р. Эллис
Уолкер Д. Уэллет
Тэмми Л. Фуллер
Стивен С. Коулман
Винсент М. Фрейзер
Бугарин Иван Сергеевич
Скотт М. Ракушка
Джастин М. Эдвардс
Алисия С. Смит
Рузвельт А. Янделл
Кимберли У. Харт
Синтия А. Кэмпбелл
Томас Джей Родригес
Кэтрин Джей Хенсон
Кортни С. Уиггинс
Энтони К. Йодер
Дэвид П. Мэнли
Энн А. Гилберт
Мигель М. Гарсо
Тревор М. Миллер
Барри П. Джонсон
Эмбер Т. Мартинес
Роза С. Дельбоск
Дон Джей Бисон
Джонатан Дж. Уокер
Джейсон Дж. Джонсон
Марианна П. Ниеми
Кэтрин Т. Уилкерсон
Митчелл А. Гомес
Уильям Дж. Хендрик
Герда А. Петерсон
Уэйн С. Макрей
Рэндалл М. Хьюстон
Мигель Дж. Кирс

CircularArrayQueue.java

пакет jsjf;

импорт jsjf.исключений.*;

/**

* CircularArrayQueue представляет собой реализацию массива очереди в

* какие индексы для передней и задней части очереди кружат обратно к 0

* когда они достигнут конца массива.

*

* @author Java Foundation

* @версия 4.0

*/

публичный класс CircularArrayQueue реализует QueueADT

{

private final static int DEFAULT_CAPACITY = 100;

частный инт спереди, сзади, граф;

частная очередь T[] ;



/**

* Создает пустую очередь, используя указанную емкость.

* @param initialCapacity начальный размер очереди кругового массива

*/

public CircularArrayQueue (int initialCapacity)

{

спереди = сзади = количество = 0;

queue = (T[]) (новый объект[initialCapacity]);

}



/**

* Создает пустую очередь, используя емкость по умолчанию.

*/

общественные CircularArrayQueue()

{

это(DEFAULT_CAPACITY);

}

/**

* Добавляет указанный элемент в конец этой очереди, расширяя

* емкость массива очередей при необходимости.

* элемент @param элемент, добавляемый в заднюю часть очереди

*/

public void enqueue(T элемент)

{

if (size() == очередь.длина)

expandCapacity();



queue[rear] = элемент;

задний = (задний+1) % очередь.длина;



считать++;

}

/**

* Создает новый массив для хранения содержимого этой очереди с помощью

* в два раза больше емкости старого.

*/

частный недействительными expandCapacity()

{

T[] Больше = (T[]) (новый объект[очередь.длина *2]);



for (int scan = 0; scan < count; scan++)

{

больше[сканирование] = очередь[спереди];

front = (front + 1) % очередь.длина;

}



фронт = 0;

сзади = количество;

очередь = больше;

}

/**

* Удаляет элемент в начале этой очереди и возвращает

* ссылка на него.

* @возвращает элемент, удаленный из передней части очереди

* @выбрасывает исключение EmptyCollectionException, если очередь пуста

*/

public T dequeue() выбрасывает исключение EmptyCollectionException

{

if (isEmpty())

throw new EmptyCollectionException("очередь");



T результат = очередь[фронт];

очереди[передний] = нуль;

front = (front+1) % очередь.длина;



считать--;



возвращаемый результат;

}



/**

* Возвращает ссылку на элемент в начале этой очереди.

* Элемент не удаляется из очереди.

* @возвращает первый элемент в очереди

* @выбрасывает исключение EmptyCollectionException, если очередь пуста

*/

public T first() выбрасывает исключение EmptyCollectionException

{

if (isEmpty())

throw new EmptyCollectionException("очередь");



очередь возврата[спереди];

}



/**

* Возвращает true, если эта очередь пуста, и false в противном случае.

* @return true, если эта очередь пуста

*/

public boolean isEmpty()

{

возврат (count == 0);

}



/**

* Возвращает количество элементов, находящихся в данный момент в этой очереди.

* @возвращает размер очереди

*/

размер государственной инт ()

{

обратный отсчет;

}



/**

* Возвращает строковое представление этой очереди.

* @возвращает строковое представление очереди

*/

публичная строка toString()

{

Результат строки = "";

показатель инт = стойка;



for (int scan = 0; scan < count; scan++)

{

результат += очередь[индекс];

индекс = (индекс + 1) % очередь.длина;

}



возвращаемый результат;

}

}

QueueADT.java

пакет jsjf;

импорт jsjf.исключений.*;

/**

* CircularArrayQueue представляет собой реализацию массива очереди в

* какие индексы для передней и задней части очереди кружат обратно к 0

* когда они достигнут конца массива.

*

* @author Java Foundation

* @версия 4.0

*/

публичный класс CircularArrayQueue реализует QueueADT

{

private final static int DEFAULT_CAPACITY = 100;

частный инт спереди, сзади, граф;

частная очередь T[] ;



/**

* Создает пустую очередь, используя указанную емкость.

* @param initialCapacity начальный размер очереди кругового массива

*/

public CircularArrayQueue (int initialCapacity)

{

спереди = сзади = количество = 0;

queue = (T[]) (новый объект[initialCapacity]);

}



/**

* Создает пустую очередь, используя емкость по умолчанию.

*/

общественные CircularArrayQueue()

{

это(DEFAULT_CAPACITY);

}

/**

* Добавляет указанный элемент в конец этой очереди, расширяя

* емкость массива очередей при необходимости.

* элемент @param элемент, добавляемый в заднюю часть очереди

*/

public void enqueue(T элемент)

{

if (size() == очередь.длина)

expandCapacity();



queue[rear] = элемент;

задний = (задний+1) % очередь.длина;



считать++;

}

/**

* Создает новый массив для хранения содержимого этой очереди с помощью

* в два раза больше емкости старого.

*/

частный недействительными expandCapacity()

{

T[] Больше = (T[]) (новый объект[очередь.длина *2]);



for (int scan = 0; scan < count; scan++)

{

больше[сканирование] = очередь[спереди];

front = (front + 1) % очередь.длина;

}



фронт = 0;

сзади = количество;

очередь = больше;

}

/**

* Удаляет элемент в начале этой очереди и возвращает

* ссылка на него.

* @возвращает элемент, удаленный из передней части очереди

* @выбрасывает исключение EmptyCollectionException, если очередь пуста

*/

public T dequeue() выбрасывает исключение EmptyCollectionException

{

if (isEmpty())

throw new EmptyCollectionException("очередь");



T результат = очередь[фронт];

очереди[передний] = нуль;

front = (front+1) % очередь.длина;



считать--;



возвращаемый результат;

}



/**

* Возвращает ссылку на элемент в начале этой очереди.

* Элемент не удаляется из очереди.

* @возвращает первый элемент в очереди

* @выбрасывает исключение EmptyCollectionException, если очередь пуста

*/

public T first() выбрасывает исключение EmptyCollectionException

{

if (isEmpty())

throw new EmptyCollectionException("очередь");



очередь возврата[спереди];

}



/**

* Возвращает true, если эта очередь пуста, и false в противном случае.

* @return true, если эта очередь пуста

*/

public boolean isEmpty()

{

возврат (count == 0);

}



/**

* Возвращает количество элементов, находящихся в данный момент в этой очереди.

* @возвращает размер очереди

*/

размер государственной инт ()

{

обратный отсчет;

}



/**

* Возвращает строковое представление этой очереди.

* @возвращает строковое представление очереди

*/

публичная строка toString()

{

Результат строки = "";

показатель инт = стойка;



for (int scan = 0; scan < count; scan++)

{

результат += очередь[индекс];

индекс = (индекс + 1) % очередь.длина;

}



возвращаемый результат;

}

}

2 Ответов

Рейтинг:
1

Patrice T

Цитата:
Java-вопрос .... Мне нужна помощь

Это не вопрос.
Итак, вы не пытаетесь решить проблему самостоятельно, у вас нет вопросов, вы просто хотите, чтобы мы сделали вашу домашнюю работу.
Домашние задания-это упрощенные версии тех задач, которые вам придется решать в реальной жизни. цель это обучение и практикующий.
Мы не делаем вашу домашнюю работу.
Домашнее задание не предназначено для проверки ваших навыков просить других людей сделать вашу работу, оно предназначено для того, чтобы заставить вас думать и помочь вашему учителю проверить ваше понимание курсов, которые вы прошли, а также проблем, которые вы испытываете при их применении.
Любая ваша неудача поможет учителю выявить ваши слабости и наметить меры по исправлению положения.
Любая ваша неудача поможет вам узнать, что работает, а что нет, это называется "методом проб и ошибок".
Так что попробуйте, перечитайте свои уроки и приступайте к работе. Если вы застряли на конкретной проблеме, покажите свой код и объясните эту точную проблему, мы можем помочь.

Как программист, ваша задача-создавать алгоритмы это решает конкретные проблемы, и вы не можете полагаться на кого-то другого, чтобы вечно делать это за вас, поэтому есть время, когда вам придется научиться этому. И чем скорее, тем лучше.
Когда вы просто просите решение, это похоже на попытку научиться водить машину, обучая кого-то другого.
Создание алгоритма - это в основном поиск математики и необходимая адаптация к вашей реальной проблеме.


Рейтинг:
0

OriginalGriff

Мы не делаем домашнее задание: оно задано не просто так. Она существует для того, чтобы вы думали о том, что вам сказали, и пытались понять это. Он также существует для того, чтобы ваш наставник мог определить области, в которых вы слабы, и сосредоточить больше внимания на корректирующих действиях.

Так что просто сваливать на нас свой домашний вопрос и кусок кода с двойным интервалом без какого - либо объяснения того, чего вы достигли, чего не достигли и какая помощь вам нужна, просто грубо-и очень маловероятно, что вы получите какую-либо конструктивную помощь.

Если вы столкнетесь с конкретной проблемой, то, пожалуйста, спросите об этом, и мы сделаем все возможное, чтобы помочь. Но мы не собираемся делать все это для вас!