From 8c67b131f6b245dbbf1027c8ab2e8dc6fed3c1cb Mon Sep 17 00:00:00 2001
From: "quentin.leblanc@etu.hesge.ch" <quentin.leblanc@etu.hesge.ch>
Date: Thu, 16 Jan 2020 16:01:00 +0100
Subject: [PATCH] tp2

---
 TP2/build.sbt                               |  5 +++
 TP2/src/main/scala/ch/hepia/tp2/Stack.scala | 42 +++++++++++++++++++++
 src/main/scala/ch/hepia/tp2/Stack.scala     |  5 +++
 3 files changed, 52 insertions(+)
 create mode 100644 TP2/build.sbt
 create mode 100644 TP2/src/main/scala/ch/hepia/tp2/Stack.scala
 create mode 100644 src/main/scala/ch/hepia/tp2/Stack.scala

diff --git a/TP2/build.sbt b/TP2/build.sbt
new file mode 100644
index 0000000..3b5eaa8
--- /dev/null
+++ b/TP2/build.sbt
@@ -0,0 +1,5 @@
+name := "scala2020"
+
+version := "0.1"
+
+scalaVersion := "2.13.1"
diff --git a/TP2/src/main/scala/ch/hepia/tp2/Stack.scala b/TP2/src/main/scala/ch/hepia/tp2/Stack.scala
new file mode 100644
index 0000000..f6c6652
--- /dev/null
+++ b/TP2/src/main/scala/ch/hepia/tp2/Stack.scala
@@ -0,0 +1,42 @@
+package ch.hepia.tp2
+
+import java.util._
+
+class Stack[A] {
+
+    private val content: List[A] = new ArrayList[A]
+
+    //Return true if Stack is Empty
+    def isEmpty: Boolean = content.isEmpty
+
+    //return size of stack
+    def size: Int = content.size
+
+    //stack an element on the stack
+    def push(a: A): Unit = content.add(0, a)
+
+    //Unstack an element and return it
+    def pop: A = {
+        if(this.size == 0 ) {
+            throw new NoSuchElementException
+        }else{
+            content.remove(0)
+        }
+    }
+
+    //Swap the 2 first elements of the stack, do nothing if less than 1 element
+    def swap: Unit = {
+        if(this.size > 1) {
+            this.push(content.remove(1))
+        }
+    }
+
+    override def toString: String = {
+        val sb: StringBuilder = new StringBuilder
+        sb.append("[")
+        this.content.forEach((e) => sb.append(e).append(", "))
+        sb.append("]")
+        sb.toString
+    }
+
+}
diff --git a/src/main/scala/ch/hepia/tp2/Stack.scala b/src/main/scala/ch/hepia/tp2/Stack.scala
new file mode 100644
index 0000000..240f091
--- /dev/null
+++ b/src/main/scala/ch/hepia/tp2/Stack.scala
@@ -0,0 +1,5 @@
+package ch.hepia.tp2
+
+class Stack {
+
+}
-- 
GitLab