Newsgroup: it.comp.java
Titolo: Stack

Ciao a tutti,
ho bisogno in un programma di creare uno Stack in un programma che sto
facendo...
Ho trovato il package java.util.Stack
Questo è un piccolo codice di esempio...
-------------------------------------------
import java.util.*;
class Str{
	public static void main(String[]arg){
		Stack st = new Stack();
		int a = 3;
		st.push(a);
		a = st.pop();
		System.out.println(a);
	}
}
--------------------------------------------
Il compilatore mi da un errore di incompatibilità di tipo.
Mi spiegate per favore dove sbaglio ?
Un intero dovrebbe essere un Object poichè lo estende
Mi da lo stesso errore con st.addElement(a);
Sia usando Stack che Vector...
ciao e grazie

		a = st.pop();
oppure qui?
a = (int)st.pop();
ciao_O
http://digilander.iol.it/schiele
http://jame.sourceforge.net

 ha scritto:
In tutti e due.
Nel primo dice che ad un oggetto Stack non si può applicare un int
e nel secondo che sono titpi incompatibili...
Prova magari a compilarlo, vedi un po' cosa ti dice...
ciao grazie.


Un intero dovrebbe essere un Object poichè lo estende
Un int NON è un oggetto ma un tipo primitivo.
Un Integer è un oggetto.
Quindi, forse;
int a=3;
Integer aObj=new Integer(a);
st.push(aObj):
Dico bene?
Ciao,
Maurizio.

Un intero dovrebbe essere un Object poichè lo estende
Ti sbagli, un Integer è un Object, un int NO (è un tipo primitivo non
un oggetto). Credo che si dica che Integer è un wrapper di int. Prova
a scrivere
Integer a = new Integer(3);
al posto di "int a = 3;" e poi facci sapere... :-)
-- 
Ciao
	Fabrizio

Prova magari a compilarlo, vedi un po' cosa ti dice...
ammetto di non aver mai usato uno Stack con tipi primitivi :)
http://digilander.iol.it/schiele
http://jame.sourceforge.net

ammetto di non aver mai usato uno Stack con tipi primitivi :)
Infatti non si può senza usare i wrapper: Stack e affini vogliono e
restituiscono degli Object e non trattano i tipi primitivi.
-- 
Ciao
	Fabrizio C.



d'accordo, intendevo dire che non avendo mai avuto bisogno 
di mettere in uno Stack degli interi, mi sono dimenticato che i 
tipi primitivi vanno usati con i wrapper :)
(ri)ciao_O
http://digilander.iol.it/schiele
http://jame.sourceforge.net

 ha scritto:


dati con un linguaggio O.O.
se puoi, posta l'intero codice cosi' lo mettiamo a posto
http://digilander.iol.it/schiele
http://jame.sourceforge.net

dati con un linguaggio O.O.
Posso postarti un pezzo di codice che funziona (lo ho controllato per
sicurezza...) vediamo se ti chiarisce le idee:
import java.util.Stack;
public class Str{
	public static void main(String[]args){
		Stack myStack=new Stack();
		Integer a=new Integer(3);
		myStack.push(a);
		Integer b=(Integer)myStack.pop();
		System.out.println(b);
	}
}
 
Come potrai verificare, l'output del programma è un BELLISSIMO 3...
Se hai dubbi, esprimili..
Ciao,
Maurizio.
La forza di gravità è un falso mito, la Terra succhia!

frequente nei programmi...
vero, ma se accetta int puo' accettare solo int, se accetta oggetti
puo' accettare pressoche' tutto
-------------------
ara...@lohobbitelatorre.org

 ha scritto:


 Un intero dovrebbe essere un Object poichè lo estende
Un int non e' un'object ma e' un tipo di dato nativo,
se vuoi l'oggetto devi usare Integer.
Davide