From b113477fac687963e61c01680252775459868666 Mon Sep 17 00:00:00 2001 From: Fabio Scotto di Santolo Date: Wed, 10 Jun 2020 19:48:07 +0200 Subject: [PATCH] Correzioni firme delle eccezioni --- .../fscotto/asd/adt/AdaptablePriorityQueue.java | 6 +++--- src/main/java/org/fscotto/asd/adt/BinaryTree.java | 6 +++--- src/main/java/org/fscotto/asd/adt/List.java | 8 ++++---- src/main/java/org/fscotto/asd/adt/Position.java | 2 +- .../java/org/fscotto/asd/adt/PositionalList.java | 12 ++++++------ .../java/org/fscotto/asd/adt/PriorityQueue.java | 2 +- src/main/java/org/fscotto/asd/adt/Tree.java | 12 ++++++------ .../java/org/fscotto/asd/adt/list/ArrayList.java | 8 ++++---- .../fscotto/asd/adt/list/LinkedPositionalList.java | 14 +++++++------- .../asd/adt/queue/HeapAdaptablePriorityQueue.java | 8 ++++---- .../fscotto/asd/adt/queue/HeapPriorityQueue.java | 2 +- .../fscotto/asd/adt/queue/SortedPriorityQueue.java | 2 +- .../asd/adt/queue/UnsortedPriorityQueue.java | 2 +- .../org/fscotto/asd/adt/tree/AbstractTree.java | 6 +++--- .../org/fscotto/asd/adt/tree/LinkedBinaryTree.java | 6 +++--- 15 files changed, 48 insertions(+), 48 deletions(-) diff --git a/src/main/java/org/fscotto/asd/adt/AdaptablePriorityQueue.java b/src/main/java/org/fscotto/asd/adt/AdaptablePriorityQueue.java index 14786bd..d532717 100644 --- a/src/main/java/org/fscotto/asd/adt/AdaptablePriorityQueue.java +++ b/src/main/java/org/fscotto/asd/adt/AdaptablePriorityQueue.java @@ -2,10 +2,10 @@ package org.fscotto.asd.adt; public interface AdaptablePriorityQueue, V> extends PriorityQueue { - public void remove(Entry entry) throws IllegalArgumentException; + public void remove(Entry entry); - public void replaceKey(Entry entry, K key) throws IllegalArgumentException; + public void replaceKey(Entry entry, K key); - public void replaceValue(Entry entry, V value) throws IllegalArgumentException; + public void replaceValue(Entry entry, V value); } diff --git a/src/main/java/org/fscotto/asd/adt/BinaryTree.java b/src/main/java/org/fscotto/asd/adt/BinaryTree.java index 3463df1..a786b34 100644 --- a/src/main/java/org/fscotto/asd/adt/BinaryTree.java +++ b/src/main/java/org/fscotto/asd/adt/BinaryTree.java @@ -4,12 +4,12 @@ package org.fscotto.asd.adt; public interface BinaryTree extends Tree { /** Restituisce la posizione del figlio sinistro di position (o null se non esiste). */ - Position left(Position position) throws IllegalArgumentException; + Position left(Position position); /** Restituisce la posizione del figlio destro di position (o null se non esiste). */ - Position right(Position position) throws IllegalArgumentException; + Position right(Position position); /** Restituisce la posizione del fratello di position (o null se non esiste). */ - Position sibling(Position position) throws IllegalArgumentException; + Position sibling(Position position); } diff --git a/src/main/java/org/fscotto/asd/adt/List.java b/src/main/java/org/fscotto/asd/adt/List.java index d9d0b45..5ff3c97 100644 --- a/src/main/java/org/fscotto/asd/adt/List.java +++ b/src/main/java/org/fscotto/asd/adt/List.java @@ -10,15 +10,15 @@ public interface List extends Iterable { boolean isEmpty(); /** Restituisce l'elemento corristondente all'indice i, senza eliminarlo. */ - E get(int i) throws IndexOutOfBoundsException; + E get(int i); /** Sostituisce con e l'elemento di indice i; restituisce l'elemento sostituito. */ - E set(int i, E e) throws IndexOutOfBoundsException; + E set(int i, E e); /** Inserisce e come elemento di indice i, spostando gli elementi successivi. */ - void add(int i, E e) throws IndexOutOfBoundsException; + void add(int i, E e); /** Rimuove e restituisce l'elemento di indice i, spostando i successivi. */ - E remove(int i) throws IndexOutOfBoundsException; + E remove(int i); } diff --git a/src/main/java/org/fscotto/asd/adt/Position.java b/src/main/java/org/fscotto/asd/adt/Position.java index f014b1e..e45f210 100644 --- a/src/main/java/org/fscotto/asd/adt/Position.java +++ b/src/main/java/org/fscotto/asd/adt/Position.java @@ -8,6 +8,6 @@ public interface Position { * @return l'elemento memorizzato * @throws IllegalStateException se la posizione non è più valida */ - E getElement() throws IllegalStateException; + E getElement(); } diff --git a/src/main/java/org/fscotto/asd/adt/PositionalList.java b/src/main/java/org/fscotto/asd/adt/PositionalList.java index 358a674..d5980f1 100644 --- a/src/main/java/org/fscotto/asd/adt/PositionalList.java +++ b/src/main/java/org/fscotto/asd/adt/PositionalList.java @@ -16,10 +16,10 @@ public interface PositionalList extends Iterable { Position last(); /** Restituisce la Position che precede p (o null, se p è la prima). */ - Position before(Position position) throws IllegalArgumentException; + Position before(Position position); /** Restituisce la Position che segue p (o null, se p è l'ultima). */ - Position after(Position position) throws IllegalArgumentException; + Position after(Position position); /** Inserisce l'elemento e all'inizio della lista; ne restituisce la posizione. */ Position addFirst(E element); @@ -28,16 +28,16 @@ public interface PositionalList extends Iterable { Position addLast(E element); /** Inserisce l'elemento e prima della Position p; ne restituisce la posizione. */ - Position addBefore(Position position, E element) throws IllegalArgumentException; + Position addBefore(Position position, E element); /** Inserisce l'elemento e dopo la Position p; ne restituisce la posizione. */ - Position addAfter(Position position, E element) throws IllegalArgumentException; + Position addAfter(Position position, E element); /** Sostituisce l'elemento nella Position p; restituisce l'elemento sostituito. */ - E set(Position position, E element) throws IllegalArgumentException; + E set(Position position, E element); /** Elimina e restituisce l'elemento nella Position p; (poi p non è più valida). */ - E remove(Position position) throws IllegalArgumentException; + E remove(Position position); /** Restituisce una rappresentazione iterabile delle posizioni dela lista. */ public Iterable> positions(); diff --git a/src/main/java/org/fscotto/asd/adt/PriorityQueue.java b/src/main/java/org/fscotto/asd/adt/PriorityQueue.java index e7b71b5..65e14f7 100644 --- a/src/main/java/org/fscotto/asd/adt/PriorityQueue.java +++ b/src/main/java/org/fscotto/asd/adt/PriorityQueue.java @@ -14,7 +14,7 @@ public interface PriorityQueue, V> { boolean isEmpty(); - Entry insert(K key, V value) throws IllegalArgumentException; + Entry insert(K key, V value); Entry min(); diff --git a/src/main/java/org/fscotto/asd/adt/Tree.java b/src/main/java/org/fscotto/asd/adt/Tree.java index eeab197..c9b1879 100644 --- a/src/main/java/org/fscotto/asd/adt/Tree.java +++ b/src/main/java/org/fscotto/asd/adt/Tree.java @@ -7,22 +7,22 @@ public interface Tree extends Iterable { Position root(); /** Restituisce la posizione del parent del nodo alla posizione position. */ - Position parent(Position position) throws IllegalArgumentException; + Position parent(Position position); /** Restituisce una struttura iterabile dei figli del nodo alla posizione position. */ - Iterable> children(Position position) throws IllegalArgumentException; + Iterable> children(Position position); /** Restituisce il numero di figli del nodo alla posizione position. */ - int numChildren(Position position) throws IllegalArgumentException; + int numChildren(Position position); /** Restituisce true se e solo se il nodo alla posizione position non è foglia. */ - boolean isInternal(Position position) throws IllegalArgumentException; + boolean isInternal(Position position); /** Restituisce true se e solo se il nodo alla posizione position è foglia. */ - boolean isExternal(Position position) throws IllegalArgumentException; + boolean isExternal(Position position); /** Restituisce true se e solo se il nodo alla posizione position è la radice. */ - boolean isRoot(Position position) throws IllegalArgumentException; + boolean isRoot(Position position); /** Restituisce il numero di elementi presenti nella struttura. */ int size(); diff --git a/src/main/java/org/fscotto/asd/adt/list/ArrayList.java b/src/main/java/org/fscotto/asd/adt/list/ArrayList.java index aec651e..d09941c 100644 --- a/src/main/java/org/fscotto/asd/adt/list/ArrayList.java +++ b/src/main/java/org/fscotto/asd/adt/list/ArrayList.java @@ -49,7 +49,7 @@ public class ArrayList implements List { * senza eliminarlo. */ @Override - public E get(int i) throws IndexOutOfBoundsException { + public E get(int i) { checkIndex(i, size); return data[i]; } @@ -59,7 +59,7 @@ public class ArrayList implements List { * restituisce l'elemento sostituito. */ @Override - public E set(int i, E e) throws IndexOutOfBoundsException { + public E set(int i, E e) { checkIndex(i, size); E tmp = data[i]; data[i] = e; @@ -71,7 +71,7 @@ public class ArrayList implements List { * spostando gli elementi successivi. */ @Override - public void add(int i, E e) throws IndexOutOfBoundsException { + public void add(int i, E e) { checkIndex(i, size + 1); if(size == data.length) resize(2 * data.length); for(int k = size - 1; k >= i; --k) data[k + 1] = data[k]; @@ -84,7 +84,7 @@ public class ArrayList implements List { * spostando i successivi. */ @Override - public E remove(int i) throws IndexOutOfBoundsException { + public E remove(int i) { checkIndex(i, size); E tmp = data[i]; for(int k = i; k <= size-1; ++k) data[k] = data[k + 1]; diff --git a/src/main/java/org/fscotto/asd/adt/list/LinkedPositionalList.java b/src/main/java/org/fscotto/asd/adt/list/LinkedPositionalList.java index 8492ae1..5d1d49a 100644 --- a/src/main/java/org/fscotto/asd/adt/list/LinkedPositionalList.java +++ b/src/main/java/org/fscotto/asd/adt/list/LinkedPositionalList.java @@ -41,7 +41,7 @@ public class LinkedPositionalList implements PositionalList { } @Override - public E getElement() throws IllegalStateException { + public E getElement() { if(next == null) throw new IllegalStateException("Position no longer valid"); return element; } @@ -119,7 +119,7 @@ public class LinkedPositionalList implements PositionalList { * Restituisce la Position che precede p (o null, se p è la prima). */ @Override - public Position before(Position position) throws IllegalArgumentException { + public Position before(Position position) { Node node = validate(position); return position(node.getPrev()); } @@ -128,7 +128,7 @@ public class LinkedPositionalList implements PositionalList { * Restituisce la Posizione che segue p (o null, se p è l'ultima). */ @Override - public Position after(Position position) throws IllegalArgumentException { + public Position after(Position position) { Node node = validate(position); return position(node.getNext()); } @@ -173,7 +173,7 @@ public class LinkedPositionalList implements PositionalList { * ne restituisce la posizione. */ @Override - public Position addBefore(Position position, E element) throws IllegalArgumentException { + public Position addBefore(Position position, E element) { Node node = validate(position); return addBeetween(element, node.getPrev(), node); } @@ -183,7 +183,7 @@ public class LinkedPositionalList implements PositionalList { * ne restituisce la posizione. */ @Override - public Position addAfter(Position position, E element) throws IllegalArgumentException { + public Position addAfter(Position position, E element) { Node node = validate(position); return addBeetween(element, node, node.getNext()); } @@ -193,7 +193,7 @@ public class LinkedPositionalList implements PositionalList { * restituisce l'elemento sostituito. */ @Override - public E set(Position position, E element) throws IllegalArgumentException { + public E set(Position position, E element) { Node node = validate(position); E answer = node.getElement(); node.setElement(element); @@ -204,7 +204,7 @@ public class LinkedPositionalList implements PositionalList { * Elimina e restituisce l'elemento nella Position p (poi p non è più valida). */ @Override - public E remove(Position position) throws IllegalArgumentException { + public E remove(Position position) { Node node = validate(position); Node predecessor = node.getPrev(); Node successor = node.getNext(); diff --git a/src/main/java/org/fscotto/asd/adt/queue/HeapAdaptablePriorityQueue.java b/src/main/java/org/fscotto/asd/adt/queue/HeapAdaptablePriorityQueue.java index 86eb4db..e2bd78b 100644 --- a/src/main/java/org/fscotto/asd/adt/queue/HeapAdaptablePriorityQueue.java +++ b/src/main/java/org/fscotto/asd/adt/queue/HeapAdaptablePriorityQueue.java @@ -73,7 +73,7 @@ public class HeapAdaptablePriorityQueue, V> extends Heap /** Inserisce una coppia chiave-valore e restituisce la voce creata. */ @Override - public Entry insert(K key, V value) throws IllegalArgumentException { + public Entry insert(K key, V value) { checkKey(key); Entry newest = new AdaptablePQEntry(key, value, heap.size()); heap.add(newest); @@ -84,7 +84,7 @@ public class HeapAdaptablePriorityQueue, V> extends Heap /** Elimina dalla coda prioritaria la voce ricevuta. */ @Override - public void remove(Entry entry) throws IllegalArgumentException { + public void remove(Entry entry) { AdaptablePQEntry locator = validate(entry); int j = locator.getIndex(); if (j == heap.size() - 1) // la voce si trova nell'ultima posizione @@ -98,7 +98,7 @@ public class HeapAdaptablePriorityQueue, V> extends Heap /** Sostituisce la chiave di una voce. */ @Override - public void replaceKey(Entry entry, K key) throws IllegalArgumentException { + public void replaceKey(Entry entry, K key) { AdaptablePQEntry locator = validate(entry); checkKey(key); locator.setKey(key); @@ -107,7 +107,7 @@ public class HeapAdaptablePriorityQueue, V> extends Heap /** Sostituisce il valore di una voce. */ @Override - public void replaceValue(Entry entry, V value) throws IllegalArgumentException { + public void replaceValue(Entry entry, V value) { AdaptablePQEntry locator = validate(entry); locator.setValue(value); } diff --git a/src/main/java/org/fscotto/asd/adt/queue/HeapPriorityQueue.java b/src/main/java/org/fscotto/asd/adt/queue/HeapPriorityQueue.java index 236276d..7c471a2 100644 --- a/src/main/java/org/fscotto/asd/adt/queue/HeapPriorityQueue.java +++ b/src/main/java/org/fscotto/asd/adt/queue/HeapPriorityQueue.java @@ -98,7 +98,7 @@ public class HeapPriorityQueue, V> extends AbstractPrior /** Inserisce una coppia chiave-valore e restituisce la voce creata. */ @Override - public Entry insert(K key, V value) throws IllegalArgumentException { + public Entry insert(K key, V value) { checkKey(key); // metodo ausiliario di verifica (può lanciare eccezione) Entry newest = new PQEntry<>(key, value); heap.add(newest); // aggiunge alla fine della lista diff --git a/src/main/java/org/fscotto/asd/adt/queue/SortedPriorityQueue.java b/src/main/java/org/fscotto/asd/adt/queue/SortedPriorityQueue.java index cf11462..e4f1126 100644 --- a/src/main/java/org/fscotto/asd/adt/queue/SortedPriorityQueue.java +++ b/src/main/java/org/fscotto/asd/adt/queue/SortedPriorityQueue.java @@ -28,7 +28,7 @@ public class SortedPriorityQueue, V> extends AbstractPri @Override - public Entry insert(K key, V value) throws IllegalArgumentException { + public Entry insert(K key, V value) { checkKey(key); // metodo ausiliario di verifica (può lanciare eccezione) Entry newest = new PQEntry<>(key, value); Position> walk = list.last(); diff --git a/src/main/java/org/fscotto/asd/adt/queue/UnsortedPriorityQueue.java b/src/main/java/org/fscotto/asd/adt/queue/UnsortedPriorityQueue.java index b312e0c..a836286 100644 --- a/src/main/java/org/fscotto/asd/adt/queue/UnsortedPriorityQueue.java +++ b/src/main/java/org/fscotto/asd/adt/queue/UnsortedPriorityQueue.java @@ -40,7 +40,7 @@ public class UnsortedPriorityQueue, V> extends AbstractP /** Inserisce una coppia chiave-valore e restituisce la voce creata. */ @Override - public Entry insert(K key, V value) throws IllegalArgumentException { + public Entry insert(K key, V value) { checkKey(key); // metodo ausiliario di verifica (può lanciare eccezione) Entry newest = new PQEntry<>(key, value); list.addLast(newest); diff --git a/src/main/java/org/fscotto/asd/adt/tree/AbstractTree.java b/src/main/java/org/fscotto/asd/adt/tree/AbstractTree.java index dae49bb..19e0091 100644 --- a/src/main/java/org/fscotto/asd/adt/tree/AbstractTree.java +++ b/src/main/java/org/fscotto/asd/adt/tree/AbstractTree.java @@ -12,17 +12,17 @@ import org.fscotto.asd.adt.Queue; public abstract class AbstractTree implements Tree { @Override - public boolean isInternal(Position position) throws IllegalArgumentException { + public boolean isInternal(Position position) { return numChildren(position) > 0; } @Override - public boolean isExternal(Position position) throws IllegalArgumentException { + public boolean isExternal(Position position) { return numChildren(position) == 0; } @Override - public boolean isRoot(Position position) throws IllegalArgumentException { + public boolean isRoot(Position position) { return position == root(); } diff --git a/src/main/java/org/fscotto/asd/adt/tree/LinkedBinaryTree.java b/src/main/java/org/fscotto/asd/adt/tree/LinkedBinaryTree.java index c8ccd69..bd3992c 100644 --- a/src/main/java/org/fscotto/asd/adt/tree/LinkedBinaryTree.java +++ b/src/main/java/org/fscotto/asd/adt/tree/LinkedBinaryTree.java @@ -79,7 +79,7 @@ public class LinkedBinaryTree extends AbstractBinaryTree { * @return figlio sinistro o null se non c'è */ @Override - public Position left(Position position) throws IllegalArgumentException { + public Position left(Position position) { Node node = validate(position); return node.getLeft(); } @@ -91,7 +91,7 @@ public class LinkedBinaryTree extends AbstractBinaryTree { * @return figlio destro o null se non c'è */ @Override - public Position right(Position position) throws IllegalArgumentException { + public Position right(Position position) { Node node = validate(position); return node.getRight(); } @@ -112,7 +112,7 @@ public class LinkedBinaryTree extends AbstractBinaryTree { * @return posizione di position o null se è radice */ @Override - public Position parent(Position position) throws IllegalArgumentException { + public Position parent(Position position) { Node node = validate(position); return node.getParent(); }