যদি আপনি স্থিতিশীল পদ্ধতিগুলি থেকে বা একইভাবে অ স্থিতিশীল সদস্যদের অ্যাক্সেস করে থাকেন তবে এটিও ঘটতে পারে। নীচে দুটি ভিন্ন দিক রয়েছে যা একটি ত্রুটির কারণ এবং অন্যান্য সমাধান কোডের টুকরা। এটি কেবল শ্রেণিকে "স্থিতিশীল" হিসাবে তৈরি করার বিষয়
package Stack;
import java.util.Stack;
import java.util.*;
public class StackArrList {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
Stack S = new Stack();
System.out.println("Enter some integers and keep 0 at last:\n");
int n = in.nextInt();
while (n != 0) {
S.push(n);
n = in.nextInt();
}
System.out.println("Numbers in reverse order:\n");
while (!S.empty()) {
System.out.printf("%d", S.pop());
System.out.println("\n");
}
}
public class Stack {
final static int MaxStack = 100;
final static int Value = -999999;
int top = -1;
int[] ST = new int[MaxStack];
public boolean empty() {
return top == -1;
}
public int pop() {
if (this.empty()) {
return Value;
}
int hold = ST[top];
top--;
return hold;
}
public void push(int n) {
if (top == MaxStack - 1) {
System.out.println("\n Stack Overflow\n");
System.exit(1);
}
top++;
ST[top] = n;
}
}
}
এটি ত্রুটিটিকে ছুঁড়ে মারে স্ট্যাকআরলিস্ট টাইপের কোনও সংযুক্তকরণ অ্যাক্সেসযোগ্য নয়। স্ট্যাকআরলিস্ট (উদাহরণস্বরূপ এ () যেখানে x স্ট্যাকআরলিস্টের একটি উদাহরণ) এর সংযুক্তিযুক্ত উদাহরণ সহ বরাদ্দকে যোগ্যতা অর্জন করতে হবে। এবং স্ট্যাক ক্লাসের উদাহরণ তৈরি করতে দেয় না
আপনি যখন ক্লাস স্ট্যাক থেকে স্ট্যাটিক ক্লাস করবেন তখন স্ট্যাক কাজ করবে এবং কোনও ত্রুটি থাকবে না।
package Stack;
import java.util.Stack;
import java.util.*;
public class StackArrList {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
Stack S = new Stack();
System.out.println("Enter some integers and keep 0 at last:\n");
int n = in.nextInt();
while (n != 0) {
S.push(n);
n = in.nextInt();
}
System.out.println("Numbers in reverse order:\n");
while (!S.empty()) {
System.out.printf("%d", S.pop());
System.out.println("\n");
}
}
static class Stack {
final static int MaxStack = 100;
final static int Value = -999999;
int top = -1;
int[] ST = new int[MaxStack];
public boolean empty() {
return top == -1;
}
public int pop() {
if (this.empty()) {
return Value;
}
int hold = ST[top];
top--;
return hold;
}
public void push(int n) {
if (top == MaxStack - 1) {
System.out.println("\n Stack Overflow\n");
System.exit(1);
}
top++;
ST[top] = n;
}
}
}