ISimpleStack.java
package stackpack;
interface ISimpleStack{
public void push(char ch);
public char pop();
public boolean isEmpty();
public boolean isFull();
}
DynamicStack.java
package stackpack;
public class DynamicStack implements ISimpleStack{
private char[] data;
private int tos;
public DynamicStack(int size){
data=new char[size];
tos=0;
}
public DynamicStack(DynamicStack otherStack){
data=new char[otherStack.data.length];
tos=otherStack.tos;
for(int i=0;i<otherStack.data.length;i++){
data[i]=otherStack.data[i];
}
}
public DynamicStack(char[] chrs){
data=new char[chrs.length];
tos=0;
for(char ch:chrs){
push(ch);
}
}
public void push(char ch){
if(tos==data.length){
char[] t=new char[2*data.length];
for(int i=0;i<tos;i++)
{
t[i]=data[i];
}
data=t;
}
data[tos]=ch;
tos++;
}
public char pop()
{
if(isEmpty())
{
System.out.println("--Stack is Empty");
return (char)0;
}
tos--;
return data[tos];
}
public boolean isEmpty(){
return tos==0;
}
public boolean isFull(){
return false;
}
}
FixedLengthStack.java
package stackpack;
public class FixedLengthStack implements ISimpleStack{
private char[] data;
private int tos;
public FixedLengthStack(int size){
data=new char[size];
tos=0;
}
public FixedLengthStack(FixedLengthStack otherStack){
data=new char[otherStack.data.length];
tos=otherStack.tos;
for(int i=0;i<otherStack.data.length;i++){
data[i]=otherStack.data[i];
}
}
public FixedLengthStack(char[] chrs){
data=new char[chrs.length];
tos=0;
for(char ch:chrs){
push(ch);
}
}
public void push(char ch){
if(isFull()){
System.out.println("--Stack is Full--");
return;
}
data[tos]=ch;
tos++;
}
public char pop()
{
if(isEmpty()){
System.out.println("-Stack is Empty-");
return (char)0;
}
tos--;
return data[tos];
}
public boolean isEmpty(){
return tos==0;
}
public boolean isFull(){
return tos==data.length;
}
}
ISimpleStackDemo.java
import stackpack.*;
class ISimpleStack{
public static void main(String[] args){
int i;
char ch;
ISimpleStack iStack;
FixedLengthStack fixedStack=new FixedLengthStack(10);
DynamicStack dynStack=new DynamicStack(5);
iStack=fixedStack;
for(i=0;!iStack.isFull();i++){
iStack.push((char)('A'+i));
}
System.out.println("Contents of FixedLengthStack");
while(!iStack.isEmpty()){
ch=iStack.pop();
System.out.print(ch);
}
System.out.println(" ");
iStack=dynStack;
for(i=0;i<26;i++){
iStack.push((char)('A'+i));
}
System.out.println("Contents of DynamicStack");
while(!iStack.Empty()){
ch=iStack.pop();
System.out.print(ch);
}
System.out.println(" ");
}
}
ISimpleStack.java、FixedLengthStack.java和DynamicStack.java是放在packstack包里,然后在ISimpleStackDemo.java里导入包,提示找不到符号,求大神解答啊


------解决思路----------------------
while(!iStack.isEmpty())