From 40a3597242d2744f390ae999e1b9acaf6879910d Mon Sep 17 00:00:00 2001 From: Oscar Bauer <oscar.bauer@etu.univ-amu.fr> Date: Tue, 3 Dec 2024 14:21:28 +0100 Subject: [PATCH] maybe figured out sorting thing in tp10 --- .../CCI_Java/src/tp10/exo2/WordsManager.java | 20 +++------ CCI_Java/CCI_Java/src/tp11/exo1/Message.java | 31 +++++++++++++ .../CCI_Java/src/tp11/exo1/TestMessage.java | 25 +++++++++++ CCI_Java/CCI_Java/src/tp11/exo1/TestUser.java | 16 +++++++ CCI_Java/CCI_Java/src/tp11/exo1/User.java | 44 ++++++++++++++++--- 5 files changed, 116 insertions(+), 20 deletions(-) create mode 100644 CCI_Java/CCI_Java/src/tp11/exo1/TestMessage.java create mode 100644 CCI_Java/CCI_Java/src/tp11/exo1/TestUser.java diff --git a/CCI_Java/CCI_Java/src/tp10/exo2/WordsManager.java b/CCI_Java/CCI_Java/src/tp10/exo2/WordsManager.java index 79862d2..68db29c 100644 --- a/CCI_Java/CCI_Java/src/tp10/exo2/WordsManager.java +++ b/CCI_Java/CCI_Java/src/tp10/exo2/WordsManager.java @@ -42,26 +42,18 @@ public class WordsManager { List<String> list = new ArrayList<>(this.uniqueWords); String[] list2 = new String[list.size()]; int pos = 0; + StringComparator comp = new StringComparator(); + list.sort(comp); + for (String word : list) { - for (int idx = 0; idx < list.size(); idx++) { - - if(list.indexOf(word) == idx) { - pos += word.compareTo(list.get(idx)); - } - } + System.out.println(word + " : " + wordOccurrences.get(word)); } - System.out.println(list); - System.out.println("pos: "+pos); -// Collections.sort(list); -// -// for (String word : list) { -// System.out.println(word + " : " + wordOccurrences.get(word)); -// } } void displayWordOccurrencesByCount() { List<Map.Entry<String, Integer>> list = new ArrayList<Map.Entry<String, Integer>>(); - StringComparator comp = new StringComparator(); + ComparatorMapEntry comp = new ComparatorMapEntry(); + list.sort(comp); for (int idx = 0; idx < list.size(); idx++) { } diff --git a/CCI_Java/CCI_Java/src/tp11/exo1/Message.java b/CCI_Java/CCI_Java/src/tp11/exo1/Message.java index ca35843..aa0fbc6 100644 --- a/CCI_Java/CCI_Java/src/tp11/exo1/Message.java +++ b/CCI_Java/CCI_Java/src/tp11/exo1/Message.java @@ -1,5 +1,36 @@ package tp11.exo1; +import java.util.HashSet; +import java.util.Set; + public class Message { + private final User author; + private final String title; + private final String content; + private final Set<User> likers; + + public Message(User author, String title, String content) { + this.author = author; + this.title = title; + this.content = content; + this.likers = new HashSet<User>(); + } + + public void receiveLike(User liker) { + likers.add(liker); + } + + @Override + public String toString() { + return "[" + this.author.getName() + "][" + this.title + "][" + this.content + "]"; + } + + public void display() { + System.out.println(title); + System.out.println("par : " + author.getName()); + System.out.println(content); + System.out.println("Aim� par : " + likers + "\n"); + } + } diff --git a/CCI_Java/CCI_Java/src/tp11/exo1/TestMessage.java b/CCI_Java/CCI_Java/src/tp11/exo1/TestMessage.java new file mode 100644 index 0000000..8f3274c --- /dev/null +++ b/CCI_Java/CCI_Java/src/tp11/exo1/TestMessage.java @@ -0,0 +1,25 @@ +package tp11.exo1; + +public class TestMessage { + + public static void main(String[] args) { + User user1 = new User("Alice"); + User user2 = new User("Bob"); + User user3 = new User("Carol"); + Message msg1 = new Message(user1, "Mon second message", "Je vous aime."); + msg1.receiveLike(user2); + msg1.receiveLike(user3); + Message msg2 = new Message(user1, "Test", "Test Test"); + Message msg3 = new Message(user1, "� propos de Bob.", "Quel boulet celui - l�."); + msg3.receiveLike(user3); + + System.out.println(msg1); + System.out.println(msg2); + System.out.println(msg3); + + msg1.display(); + msg2.display(); + msg3.display(); + } + +} diff --git a/CCI_Java/CCI_Java/src/tp11/exo1/TestUser.java b/CCI_Java/CCI_Java/src/tp11/exo1/TestUser.java new file mode 100644 index 0000000..0d09224 --- /dev/null +++ b/CCI_Java/CCI_Java/src/tp11/exo1/TestUser.java @@ -0,0 +1,16 @@ +package tp11.exo1; + +public class TestUser { + + public static void main(String[] args) { + User user1 = new User("hans"); + User user2 = new User("peter"); + User user3 = new User("ernst"); + + user1.addMessage("testtest"); + System.out.println(user1); + System.out.println(user2); + System.out.println(user3); + } + +} diff --git a/CCI_Java/CCI_Java/src/tp11/exo1/User.java b/CCI_Java/CCI_Java/src/tp11/exo1/User.java index 574fd80..cb45fe0 100644 --- a/CCI_Java/CCI_Java/src/tp11/exo1/User.java +++ b/CCI_Java/CCI_Java/src/tp11/exo1/User.java @@ -1,18 +1,50 @@ package tp11.exo1; import java.util.ArrayList; +import java.util.HashSet; import java.util.List; import java.util.Set; +import java.util.TreeSet; public class User { - private String name; - private List<String> messages; - private Set<User> followers; - + private final String name; + private final List<Message> messages; + private final Set<User> followers; + public User(String name) { this.name = name; - this.messages = new ArrayList<String>(); - this.followers = new + this.messages = new ArrayList<Message>(); + this.followers = new HashSet<User>(); + + System.out.println("Cr�ation de l'utilisateur " + this.name); + } + + public String getName() { + return this.name; + } + + public void receive(Message message) { + messages.add(message); + } + + public void broadcast(Message message) { + for (User usr : followers) { + usr.receive(message); + } + } + + public void follow(User other) { + System.out.println(other + " s'abonne � la liste de Alice." + this.name); + } + + public Message getLastPost() { + return messages.get(messages.lastIndexOf(messages)); + } + + @Override + public String toString() { + // TODO Auto-generated method stub + return this.name; } } -- GitLab