Please review my code java Someone helped me with it but i c
Please review my code (java)
Someone helped me with it but i cannot get it to compile i tried to separate the code that didnt work.
package ch02.stacks;
import java.lang.Iterable;
import java.util.*;
import java.lang.*;
import java.io.*;
public class ArrayBoundedStack<T> implements StackInterface<T>
public class StackUnderflowException extends RuntimeException
class StackUnderflowException extends RuntimeException
{
public StackUnderflowException()
{
super();
}
public StackUnderflowException(String message)
{
super(message);
}
}
class StackOverflowException extends RuntimeException
{
public StackOverflowException()
{
super();
}
public StackOverflowException(String message)
{
super(message);
}
}
class ArrayBoundedStack<T> implements StackInterface<T>
{
protected final int DEFCAP = 100; // default capacity
protected T[] elements; // holds stack elements
protected int topIndex = -1; // index of top element in stack
public ArrayBoundedStack()
{
elements = (T[]) new Object[DEFCAP];
}
public ArrayBoundedStack(int maxSize)
{
elements = (T[]) new Object[maxSize];
}
public void push(T element)
// Throws StackOverflowException if this stack is full,
// otherwise places element at the top of this stack.
{
if (isFull())
throw new StackOverflowException(\"Push attempted on a full stack.\");
else
{
topIndex++;
elements[topIndex] = element;
}
}
public void pop()
// Throws StackUnderflowException if this stack is empty,
// otherwise removes top element from this stack.
{
if (isEmpty())
throw new StackUnderflowException(\"Pop attempted on an empty stack.\");
else
{
elements[topIndex] = null;
topIndex--;
}
}
public T top()
// Throws StackUnderflowException if this stack is empty,
// otherwise returns top element of this stack.
{
T topOfStack = null;
if (isEmpty())
throw new StackUnderflowException(\"Top attempted on an empty stack.\");
else
topOfStack = elements[topIndex];
return topOfStack;
}
public boolean isEmpty()
// Returns true if this stack is empty, otherwise returns false.
{
return (topIndex == -1);
}
public boolean isFull()
// Returns true if this stack is full, otherwise returns false.
{
return (topIndex == (elements.length - 1));
}
public String toString()
{
String ans=new String();
int counter=topIndex;
while(counter>=0)
{
ans=ans+elements[topIndex].toString()+\"--\";
counter--;
}
}
public int size()
{
return topIndex+1;
}
public void popSome(int count)
{
if(size()<count)
throw new StackUnderflowException(\"Less number of elements in stack.\");
while(count>0)
{
elements[topIndex] = null;
topIndex--;
count--;
}
}
public boolean swapStart()
{
if(size()<2)
return false;
T topOfStack = null;
topOfStack=elements[topIndex];
elements[topIndex]=elements[topIndex-1];
elements[topIndex-1]=topOfStack;
return true;
}
public T poptop()
{
if(topIndex==-1)
throw new StackUnderflowException(\"Top attempted on an empty stack.\");
else
{
T t=null;
t=elements[topIndex--];
return t;
}
}
}
public class ArrayBounded
{
public static void main(String args[])
{
Stack<Integer> s=new ArrayBoundedStack<Integer>();
s.push(10);
s.push(20);
s.push(30);
System.out.println(s.toString());
System.out.println(s.size());
System.out.println(s.poptop());
}
}
Solution
Follow is the proper code ( rectified the errors and flow ).
********
Class 1: Create ArrayBoundedTest.java file and paste the below code...
package test;
import java.util.Stack;
public class ArrayBoundedTest
{
public static void main(String args[])
{
ArrayBoundedStack<Integer> s=new ArrayBoundedStack<Integer>();
s.push(10);
s.push(20);
s.push(30);
System.out.println(s.toString());
System.out.println(s.size());
System.out.println(s.poptop());
}
}
***********************
Class 2: create the ArrayBoundedStack.java file and paste the below code
package test;
import java.lang.Iterable;
import java.util.*;
import java.lang.*;
import java.io.*;
public class ArrayBoundedStack<T> {
protected final int DEFCAP = 100; // default capacity
protected T[] elements; // holds stack elements
protected int topIndex = -1; // index of top element in stack
public ArrayBoundedStack()
{
elements = (T[]) new Object[DEFCAP];
}
public ArrayBoundedStack(int maxSize)
{
elements = (T[]) new Object[maxSize];
}
public void push(T element)
// Throws StackOverflowException if this stack is full,
// otherwise places element at the top of this stack.
{
if (isFull())
throw new StackOverflowException(\"Push attempted on a full stack.\");
else
{
topIndex++;
elements[topIndex] = element;
}
}
public void pop()
// Throws StackUnderflowException if this stack is empty,
// otherwise removes top element from this stack.
{
if (isEmpty())
throw new StackUnderflowException(\"Pop attempted on an empty stack.\");
else
{
elements[topIndex] = null;
topIndex--;
}
}
public T top()
// Throws StackUnderflowException if this stack is empty,
// otherwise returns top element of this stack.
{
T topOfStack = null;
if (isEmpty())
throw new StackUnderflowException(\"Top attempted on an empty stack.\");
else
topOfStack = elements[topIndex];
return topOfStack;
}
public boolean isEmpty()
// Returns true if this stack is empty, otherwise returns false.
{
return (topIndex == -1);
}
public boolean isFull()
// Returns true if this stack is full, otherwise returns false.
{
return (topIndex == (elements.length - 1));
}
public String toString()
{
String ans=new String();
int counter=topIndex;
while(counter>=0)
{
ans=ans+elements[topIndex].toString()+\"--\";
counter--;
}
return ans;
}
public int size()
{
return topIndex+1;
}
public void popSome(int count)
{
if(size()<count)
throw new StackUnderflowException(\"Less number of elements in stack.\");
while(count>0)
{
elements[topIndex] = null;
topIndex--;
count--;
}
}
public boolean swapStart()
{
if(size()<2)
return false;
T topOfStack = null;
topOfStack=elements[topIndex];
elements[topIndex]=elements[topIndex-1];
elements[topIndex-1]=topOfStack;
return true;
}
public T poptop()
{
if(topIndex==-1)
throw new StackUnderflowException(\"Top attempted on an empty stack.\");
else
{
T t=null;
t=elements[topIndex--];
return t;
}
}
}
***********************************
class 3: create the StackOverflowException.java file and paste the below code
package test;
public class StackOverflowException extends RuntimeException
{
public StackOverflowException()
{
super();
}
public StackOverflowException(String message)
{
super(message);
}
}
******************************
class 4: create the StackUnderflowException.java file and paste the below code
package test;
public class StackUnderflowException extends RuntimeException
{
public StackUnderflowException()
{
super();
}
public StackUnderflowException(String message)
{
super(message);
}
}
**************************************
Note.. create all classes the the package test.





