import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;
public class ContohStack {
//Inisialisasi stack
private static Stack<Integer> stack;
private static int ukuran;
public static void main(String[] args) {
System.out.print("Berapa ukuran STACK yang
diinginkan?");
//Mendapatkan ukuran stack
ukuran = inputData();
//Membuat stack
buatStack(ukuran);
//Membaca data bilangan bulat dan memasukkannya ke stack
bacaData();
//Mengeluarkan data bilangan bulat dan menuliskannya ke
jendela
//console
tulisData();
}
//Membuat stack yang akan menampung bilangan-bilangan
integer
private static void buatStack(int ukuran) {
stack = new Stack<Integer>();
}
//Metoda untuk memasukkan bilangan bulat ke stack
private static void bacaData() {
int data;
System.out.println("Masukkan nilai nilai STACK :
");
for(int i=0; i<ukuran; i++) {
System.out.print("Data ke-" + (i+1) + " =
");
//Membaca data bilangan bulat
data = inputData();
//Memasukkan data ke stack
stack.push(data);
}
}
//Metoda untuk menuliskan isi stack ke jendela console
private static void tulisData() {
System.out.println("Isi stack adalah (menggunakan
prosedur POP) : ");
int dataStack;
for(int i=0; i<ukuran; i++) {
//mengeluarkan elemen dari stack
dataStack = stack.pop();
System.out.println("Nilainya = " + dataStack);
}
}
//Metoda untuk membaca data bilangan bulat (integer)
private static Integer inputData() {
BufferedReader bfr =
new BufferedReader(new InputStreamReader(System.in));
String angkaInput = null;
try {
angkaInput = bfr.readLine();
} catch (IOException e) {
e.printStackTrace();
}
int Data =
Integer.valueOf(angkaInput).intValue();
return Data;
}
}
No comments:
Post a Comment