Advertisement
Spocoman

05. Month Printer(old and new switch patterns, ternary operator and array solutions)

Oct 15th, 2024 (edited)
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.68 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. class MonthPrinter {
  4.     public static void main(String[] args) {
  5.         Scanner scanner = new Scanner(System.in);
  6.         int number = Integer.parseInt(scanner.nextLine());
  7.        
  8.         String result = "";
  9.  
  10.         switch (number) {
  11.             case 1:
  12.                 result = "January";
  13.                 break;
  14.             case 2:
  15.                 result = "February";
  16.                 break;
  17.             case 3:
  18.                 result = "March";
  19.                 break;
  20.             case 4:
  21.                 result = "April";
  22.                 break;
  23.             case 5:
  24.                 result = "May";
  25.                 break;
  26.             case 6:
  27.                 result = "June";
  28.                 break;
  29.             case 7:
  30.                 result = "July";
  31.                 break;
  32.             case 8:
  33.                 result = "August";
  34.                 break;
  35.             case 9:
  36.                 result = "September";
  37.                 break;
  38.             case 10:
  39.                 result = "October";
  40.                 break;
  41.             case 11:
  42.                 result = "November";
  43.                 break;
  44.             case 12:
  45.                 result = "December";
  46.                 break;
  47.             default:
  48.                 result = "Error!";
  49.                 break;
  50.         }
  51.        
  52.         System.out.println(result);
  53.     }
  54. }
  55.  
  56. Solution with new switch pattern(Java 21):
  57.  
  58. import java.util.Scanner;
  59.  
  60. class MonthPrinter {
  61.     public static void main(String[] args) {
  62.         Scanner scanner = new Scanner(System.in);
  63.         int number = Integer.parseInt(scanner.nextLine());
  64.        
  65.         String result = switch (number) {
  66.             case 1 -> "January";
  67.             case 2 -> "February";
  68.             case 3 -> "March";
  69.             case 4 -> "April";
  70.             case 5 -> "May";
  71.             case 6 -> "June";
  72.             case 7 -> "July";
  73.             case 8 -> "August";
  74.             case 9 -> "September";
  75.             case 10 -> "October";
  76.             case 11 -> "November";
  77.             case 12 -> "December";
  78.             default -> "Error!";
  79.         };
  80.        
  81.         System.out.println(result);
  82.     }
  83. }
  84.  
  85. Solution with ternary operator:
  86.  
  87. import java.util.Scanner;
  88.  
  89. class MonthPrinter {
  90.     public static void main(String[] args) {
  91.         Scanner scanner = new Scanner(System.in);
  92.         int number = Integer.parseInt(scanner.nextLine());
  93.        
  94.         String result  =
  95.             number == 1 ? "January" :
  96.             number == 2 ? "February" :
  97.             number == 3 ? "March" :
  98.             number == 4 ? "April" :
  99.             number == 5 ? "May" :
  100.             number == 6 ? "June" :
  101.             number == 7 ? "July" :
  102.             number == 8 ? "August" :
  103.             number == 9 ? "September" :
  104.             number == 10 ? "October" :
  105.             number == 11 ? "November" :
  106.             number == 12 ? "December" : "Error!";
  107.        
  108.         System.out.println(result);
  109.     }
  110. }
  111.  
  112. Solution with array and ternary operator:
  113.  
  114. import java.util.Scanner;
  115.  
  116. class MonthPrinter {
  117.     public static void main(String[] args) {
  118.         Scanner scanner = new Scanner(System.in);
  119.         int number = Integer.parseInt(scanner.nextLine());
  120.        
  121.         String months[] = {
  122.             "Error!",
  123.             "January",
  124.             "February",
  125.             "March",
  126.             "April",
  127.             "May",
  128.             "June",
  129.             "July",
  130.             "August",
  131.             "September",
  132.             "October",
  133.             "November",
  134.             "December"
  135.         };
  136.        
  137.         String result = number > 0 && number < 13 ? months[number] : months[0];
  138.         System.out.println(result);
  139.     }
  140. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement