//Main
- Code: Select all
/*
* Main.java
*/
package stacksimulator;
import java.io.*;
import java.lang.Thread;
/**
* @author Falcon
* @email fightingfalcon@hotmail.it
* @version:1.0
*/
public class Main extends Thread implements Runnable {
public static void main(String[] args) {
int N,I,R;
final int stop=1500;
String Informazione;
Stack S1=new Stack();
System.out.println("**************************************************");
System.out.println("StackSimulator ver.1.0 Coded by Falcon");
System.out.println("**************************************************\n");
try{
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
String line;
do{
System.out.println("Scegli l'operazione che vuoi effettuare");
System.out.println("1)Acquisizione di un elemento");
System.out.println("2)Pop e visualizzazione di tutto lo stack");
System.out.println("3)Visualizzazione totale dello stack");
System.out.println("4)Esci");
System.out.println("Inserisci");
line=input.readLine();
R=Integer.parseInt(line);
switch(R){
case 1:
try{
do{
System.out.println("Inserisci l'informazione ");
line=input.readLine();
Informazione=(line);
if(Informazione.equals(""))System.out.println("Errore nell'inserimento dei dati");
}while(Informazione.equals(""));
Nodo K=new Nodo(Informazione);
S1.Push(K);
System.out.println("Acquisizione completata con successo");
try {
Thread.sleep(stop);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}catch(IOException z){
System.out.println("Errore "+z);
}
break;
case 2:
try{
Nodo Generico=S1.Pop();
System.out.println("Informazione "+Generico.Informazione);
}catch(NullPointerException z){
System.out.println("Fine dello stack");
}
try {
Thread.sleep(stop);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
break;
case 3:
S1.printAll();
System.out.println("Fine visualizzazione");
try {
Thread.sleep(stop);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
break;
case 4:
break;
default:
System.out.println("Errore nell'inserimento dei dati REINSERISCI");
break;
}
}while(R!=4);
System.out.println("Uscita dal programma");
}catch(IOException e){
System.out.println("Errore "+e);
}
}
}
//Classe Nodo.java
- Code: Select all
/*
* Nodo.java
*/
package stacksimulator;
/**
* @author Falcon
* @email fightingfalcon@hotmail.it
* @version:1.0
*/
public class Nodo {
public String Informazione;
public Nodo Next;
public Nodo(String Informazione) {
this.Informazione=Informazione;
this.Next=null;
}
}
//Classe Stack.java
- Code: Select all
/*
* Stack.java
*/
package stacksimulator;
/**
* @author Falcon
* @email fightingfalcon@hotmail.it
* @version:1.0
*/
public class Stack {
private Nodo Top;
public Stack() {
this.Top=null;
}
public void Push(Nodo N){
N.Next=this.Top;
this.Top=N;
}
public Nodo Pop(){
Nodo N=this.Top;
this.Top=N.Next;
return N;
}
public void printAll(){
Nodo Temp;
Temp=this.Top;
while(Temp!=null){
System.out.println("Informazione "+Temp.Informazione);
Temp=Temp.Next;
}
}
}
Se volete che approfondisca teoricamente le liste,gli alberi ,ecc.. anche negli altri linguaggi fatemi sapere!


