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