Projeyi öncelikle forklayın ve clone edin. Daha sonra projeyi IntellijIDEA kullanarak açınız. README.md dosyasını dikkatli bir şekilde okuyarak istenenleri yapmaya çalışın.
- org.example.entity paketi altında İki tane sınıfımız olucak.
Task
veTaskData
Task
sınıfı içerisinde 5 taneinstance variable
olmalı.project
=> stringdescription
=> stringassignee
=> stringpriority
org.example.entity paketi altında Priority şeklinde bir Enum tipinde olmalı. Priority{HIGH, MED, LOW} şeklinde oluşturabilirsiniz.status
org.example.entity paketi altında Status şeklinde bir Enum tipinde olmalı. Status{IN_QUEUE, ASSIGNED, IN_PROGRESS} şeklinde oluşturabilirsiniz.- Task'ın eşsizliğini
project
vedescription
değerleri birlikte belirler. - TaskData sınıfı 4 tane değişkene sahip olmalı
annsTasks => Set<Task>
bobsTasks => Set<Task>
carolsTasks => Set<Task>
unassignedTasks => Set<Task>
Bu 4 değerde constructor vasıtasıyla set edilebilmeli. - TaskData sınıfı
getTasks()
adlı bir metoda sahip olmalı. method parametre olarak bir String almalı. Bu 4 değerden herhangi birini alabilir. ("ann", "bob", "carol", "all") Metodun dönüş değeriSet<Task>
olmalı.
- Şöyle bir senaryomuz var. Sen şirketteki yeni bir yöneticisin ve ekibinde 3 tane çalışanın var.
- Ann, Bob, Carol 3'ü de senin çalışanların.
- Üç yazılımcı da farklı task sahipleri.
- Siz bütün yazılımcılara ellerindeki taskları yollamalarını istediniz.
- Bunlar bir
set
içerisinde tutulabilir. Sende bu taskları kendi müdürüne raporluyorsun.
Müdürüne şu soruların cevabını verebilmelisin:
-
Tüm çalışanlarının üzerindeki tasklar nelerdir ?
-
Her bir çalışanın üzerindeki tasklar nelerdir ?
-
Herhangi bir çalışana atanması yapılmamış olan tasklar nelerdir ?
-
Birden fazla çalışana atanmış task var mı ? Varsa bunlar hangileri ?
-
Bu görevleri yapabilmek TaskData sınıfı altında aşağıdaki metodları içerisinde aşağıdaki metodları yazmalısın,
-
getUnion()
metodu bir set listesi alır ve aldığı tüm set değerlerini union ile birleştirip döner. -
getIntersect()
metodu iki tane set alır ve aralarındaki kesişim kümesini bulup döner. -
getDifference()
metodu iki tane set alır ve ikinci set içerisindeki verileri ilk set içerisindeki verilerden çıkarır.
-
Elimizde aşağıdaki gibi bir text mevcut.
-
org.example.entity paketi altında StringSet adında bir sınıf tanımlayın.
-
StringSet sınıfı içerisinde
findUniqueWords()
adında static bir method tanımlayınız. -
İçerisinde aşağıdaki işlemleri yapmalasınız.
-
"Carroll began writing the manuscript of the story the next day, although that earliest version is lost. " + "The girls and Carroll took another boat trip a month later, when he elaborated the plot to the story of Alice, " + "and in November he began working on the manuscript in earnest. To add the finishing touches he researched " + "natural history in connection with the animals presented in the book and then had the book examined " + "by other children—particularly those of George MacDonald. Though Carroll did add his own illustrations " + "to the original copy, on publication he was advised to find a professional illustrator so the pictures " + "were more appealing to its audiences. He subsequently approached John Tenniel to reinterpret " + "Carroll's visions through his own artistic eye, telling him that the story had been well liked by the" + " children.\n" + "\n" + "Carroll began planning a print edition of the Alice story in 1863. " + "He wrote on 9 May 1863 that MacDonald's family had suggested he publish Alice." + " A diary entry for 2 July says that he received a specimen page of the print edition around that date. " + "On 26 November 1864, Carroll gave Alice the manuscript of Alice's Adventures Under Ground, with illustrations " + "by Carroll, dedicating it as a Christmas Gift to a Dear Child in Memory of a Summer's Day." + " The published version of Alice's Adventures in Wonderland is about twice the length of " + "Alice's Adventures Under Ground and includes episodes, such as the Mad Tea-Party, " + "that did not appear in the manuscript. The only known manuscript copy of Under Ground " + "is held in the British Library. Macmillan published a facsimile of the manuscript in 1886."
-
İlgili texti bir String değişkenine atayınız
-
String içerisindeki
.,!,?"
karakterlerini temizleyiniz. -
İstenen text içerisindeki unique kelime sayısını bulmanızdır.
-
Daha sonrasında bu unique kelimeleri alfabetik şekilde sıralanacak biçimde return ediniz.