about summary refs log tree commit diff
path: root/usth/ICT2.2/labwork/4/Deal.java
diff options
context:
space:
mode:
authorNguyễn Gia Phong <vn.mcsinyx@gmail.com>2019-12-15 10:34:58 +0700
committerNguyễn Gia Phong <vn.mcsinyx@gmail.com>2019-12-15 15:00:00 +0700
commit67393f42f41ab92219deb549f711121c4dab845b (patch)
treeebd0eb6c8a3d3bd69937312179aeaf273ea29c80 /usth/ICT2.2/labwork/4/Deal.java
parentb38d9929f7a015b56b847fde7e83f814f354497e (diff)
downloadcp-67393f42f41ab92219deb549f711121c4dab845b.tar.gz
[usth/ICT2.2] Object Oriented Programming
Diffstat (limited to 'usth/ICT2.2/labwork/4/Deal.java')
-rw-r--r--usth/ICT2.2/labwork/4/Deal.java27
1 files changed, 27 insertions, 0 deletions
diff --git a/usth/ICT2.2/labwork/4/Deal.java b/usth/ICT2.2/labwork/4/Deal.java
new file mode 100644
index 0000000..b2d9ba9
--- /dev/null
+++ b/usth/ICT2.2/labwork/4/Deal.java
@@ -0,0 +1,27 @@
+import static java.util.Collections.shuffle;
+import static java.util.stream.Collectors.toList;
+import static java.util.stream.IntStream.range;
+
+class Deal
+{
+  static final String[] suits = {"clubs", "diamonds", "hearts", "spades"};
+  static final String[] ranks = {"Ace", "Two", "Three", "Four", "Five",
+                                 "Six", "Seven", "Eight", "Nine", "Ten",
+                                 "Jack", "Queen", "King"};
+
+  public static void main(String... args)
+  {
+    var deck = range(0, 52).boxed().collect(toList());
+    shuffle(deck);
+
+    // I have no time handling exceptions.
+    int n = Integer.parseInt(args[0]) % 52;
+    while (n-- > 0)
+      {
+        int card = deck.get(n);
+        int suit = card / 13;
+        int rank = card % 13;
+        System.out.printf("%s of %s\n", ranks[rank], suits[suit]);
+      }
+  }
+}