Advertisement
Guest User

04_Articles_2_0

a guest
Nov 14th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.93 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.List;
  3. import java.util.Scanner;
  4.  
  5. public class ExObjClss_04_Articles_2_0{
  6.     static class Article2{
  7.  
  8.         private String title;
  9.         private String content;
  10.  
  11.         public String getTitle() {
  12.             return title;
  13.         }
  14.  
  15.         public String getContent() {
  16.             return content;
  17.         }
  18.  
  19.         public String getAuthor() {
  20.             return author;
  21.         }
  22.  
  23.         private String author;
  24.  
  25.  
  26.         public Article2(String title, String content, String author) {
  27.             this.title = title;
  28.             this.content = content;
  29.             this.author = author;
  30.  
  31.         }
  32.  
  33.         public String toString() {
  34.             return String.format("%s - %s: %s", this.getTitle(), getContent(), this.getAuthor());
  35.         }
  36.     }
  37.  
  38.     public static void main(String[] args) {
  39.         Scanner scanner = new Scanner(System.in);
  40.  
  41.         int n = Integer.parseInt(scanner.nextLine());
  42.         List<Article2> articlesForSort = new ArrayList<>();
  43.  
  44.         while (n-- > 0) {
  45.             String[] data = scanner.nextLine().split(", ");
  46.  
  47.             Article2 article = new Article2(data[0], data[1], data[2]);
  48.  
  49.             articlesForSort.add(article);
  50.  
  51.         }
  52.  
  53.         String sortBy = scanner.nextLine();
  54.  
  55.         switch (sortBy) {
  56.  
  57.             case "title":
  58.                 articlesForSort.stream().sorted((f, s) -> f.getTitle().compareTo(s.getTitle())).forEach(p -> System.out.println(p.toString()));
  59.                 break;
  60.             case "content":
  61.                 articlesForSort.stream().sorted((f, s) -> f.getContent().compareTo(s.getContent())).forEach(p -> System.out.println(p.toString()));
  62.  
  63.                 break;
  64.             case "author":
  65.                 articlesForSort.stream().sorted((f, s) -> f.getAuthor().compareTo(s.getAuthor())).forEach(p -> System.out.println(p.toString()));
  66.  
  67.                 break;
  68.         }
  69.     }
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement