Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- import java.util.List;
- public enum Topics {
- POLITICS(0){
- public String getInfo() {
- StringBuilder sb = new StringBuilder();
- for(int i = 0; i < newss.size(); i++) {
- sb.append("\n" + newss.get(i));
- }
- return "" + sb;
- }
- public int getnonews() {
- return nonews;
- }
- },
- SPORT(0){
- public String getInfo() {
- StringBuilder sb = new StringBuilder();
- for(int i = 0; i < newss.size(); i++) {
- sb.append("\n" + newss.get(i));
- }
- return "" + sb;
- }
- public int getnonews() {
- return nonews;
- }
- },
- FASHION(0){
- public String getInfo() {
- StringBuilder sb = new StringBuilder();
- for(int i = 0; i < newss.size(); i++) {
- sb.append("\n" + newss.get(i));
- }
- return "" + sb;
- }
- public int getnonews() {
- return nonews;
- }
- },
- CELEBRITIES(0){
- public String getInfo() {
- StringBuilder sb = new StringBuilder();
- for(int i = 0; i < newss.size(); i++) {
- sb.append("\n" + newss.get(i));
- }
- return "" + sb;
- }
- public int getnonews() {
- return nonews;
- }
- };
- int nonews;
- List<String> newss = new ArrayList<>();
- Topics(int noofnews) {
- this.nonews = noofnews;
- }
- public abstract String getInfo();
- public abstract int getnonews();
- }
- public class PressAgency {
- public void broadcast(Topics t, String news){
- t.newss.add(news);
- t.nonews++;
- }
- public void subscribe(Topics t, Person p) {
- p.topics.add(t);
- }
- }
- import java.util.ArrayList;
- import java.util.List;
- public class Person {
- private static int counter=1;
- int id;
- private String name;
- int length;
- Topics[] topic;
- List<Topics> topics = new ArrayList<>();
- public Person(String name) {
- this.name = name;
- id=counter;
- counter++;
- }
- public String getTopics() {
- StringBuilder sb = new StringBuilder();
- for(Topics to : topics) {
- if(to.getnonews() == 0)
- sb.append("\n" + to + ": " + "No news" + to.getInfo());
- else {
- sb.append("\n" + to + ": " + to.getnonews() + " news" + to.getInfo());
- }
- }
- return "" + sb;
- }
- public String toString() {
- return name + "(id=" + id +")" + getTopics();
- }
- }
- public class Main {
- public static void main(String[] args) {
- Person john = new Person("John");
- Person kate = new Person("Kate");
- Person bill = new Person("Bill");
- PressAgency agency = new PressAgency();
- agency.subscribe(Topics.POLITICS, john);
- agency.subscribe(Topics.SPORT, john);
- agency.subscribe(Topics.POLITICS, kate);
- agency.subscribe(Topics.FASHION, kate);
- agency.subscribe(Topics.CELEBRITIES, bill);
- agency.subscribe(Topics.SPORT, bill);
- agency.broadcast(Topics.POLITICS, "Obama's speech in Washington");
- agency.broadcast(Topics.FASHION, "Skirts get shorter this season!");
- agency.broadcast(Topics.SPORT, "Real-Atletico 2:1");
- agency.broadcast(Topics.POLITICS, "British-French summit in Paris");
- agency.broadcast(Topics.SPORT, "Hamilton wins in Australia");
- agency.broadcast(Topics.FASHION, "New handbags from Versace!");
- System.out.println(bill);
- System.out.println();
- System.out.println(john);
- System.out.println();
- System.out.println(kate);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement