|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Sep 2010
Messaggi: 9
|
[JAVA] semplice programma stampa null null
Ciao, visto che l'ultima volta mi avete aiutato e tirato fuori dall'impaccio ci riprovo, se potessi farei a meno di disturbarvi, ma non ho nessuno a cui posso chiedere aiuto se non qui..
Ho creato questo programma e l'ultima riga di codice dovrebbe stamparmi la stringa "minnie topolino", invece a me stampa "null null", ma non riesco a capire dove è l'errore.. Se potete aiutarmi.. Grazie.. interface Container { int size(); boolean isEmpty(); } interface Queue extends Container { Object front(); Object dequeue(); void enqueue (Object x); } class EmptyQueueException extends RuntimeException{} interface Map extends Container { Object put(Object key, Object value); Object remove(Object key); Object get(Object key); Object[] keys(); } class MyQueue implements Queue { private Object[] v; private int vsize; private int front; // per avere prestazioni O(1) private int back; // per avere prestazioni O(1) public MyQueue() { v = new Object[1]; vsize = 0; front = back = 0; } public int size() { return vsize; } public boolean isEmpty() { return front == back; } public Object front() { if ( isEmpty()) throw new IllegalArgumentException(); return v[front]; } public Object dequeue() { if ( isEmpty()) throw new IllegalArgumentException(); Object obj = v[back]; vsize = vsize-1; return obj; } public void enqueue(Object obj) { class MyMap implements Map { private Queue q; private class Entry { public Object key; public Object value; } public MyMap() { q = new MyQueue(); } public int size() { return q.size(); } public boolean isEmpty() { return q.isEmpty(); } public Object put(Object key, Object value) { for (int i = 0; i<size(); i++) { Entry x = (Entry) q.dequeue(); if ( (x.key).equals(key)) { Object oldx = x.value; x.value = value; q.enqueue(x); return oldx; } q.enqueue(x); } Entry w = new Entry(); w.value = value; w.key = key; return null; } public Object remove (Object key) { for (int i = 0; i<size(); i++) { Entry r = (Entry)q.dequeue(); if ( (r.key).equals(key)) return r.value; } return null; } public Object get(Object key) { for ( int i =0; i<size(); i++) { Entry r = (Entry)q.dequeue(); if ( (r.key).equals(key)) { Object value = r.value; q.enqueue(r); return value; } q.enqueue(r); } return null; } public Object[] keys() { Object[] keys = new Object[size()]; for (int i = 0; i<size(); i++) while (!q.isEmpty()) keys[i]=q.dequeue(); return keys; } } public class Tema5 { public static void main (String[] args) { Map map = new MyMap(); map.put("123", "pippo"); map.put("234", "pluto"); map.put("456", "paperino"); map.put("123", "topolino"); map.put("999", "minnie"); map.remove("456"); System.out.println(map.get("999")+ " " + map.get("123")); } } |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:00.



















