作者nesk (大棵)
看板java
标题[问题] 写stack程式所发生的问题
时间Tue Aug 24 20:43:33 2010
FullLessStack.java
package example.practice;
public class FullLessStack {
LinkData top=null;
public int isEmpty()
{
if(top==null)
{
return 1;
}
return -1;
}
public void push(int pushData) throws StackFullException
{
LinkData push=new LinkData();
push.setData(pushData);
push.before=top;
top.next=push;
top=push;
}
public int pop() throws StackEmptyException
{
int popData;
if(isEmpty()==1)
{
throw new StackEmptyException();
}
popData=top.getData();
top=top.before;
return popData;
}
}
class StackFullException extends Exception { }
class StackEmptyException extends Exception { }
LinkData.java
package example.practice;
class LinkData {
LinkData next,before;
int data=0;
public void setData(int input)
{
LinkData.data=input;
这边有错
Cannot make a static reference to the non-static field LinkData.data
}
public int getData()
{
int popData=0;
popData=LinkData.data;
这边有错
Cannot make a static reference to the non-static field LinkData.data
return popData;
}
}
本成是主要有想要做一个除非记忆体被吃光不然不会满的stack
我对任何变数都没有宣告static可是不知为啥
会出上面的错误讯息 请各位大大帮帮忙
或是有人对此程式能给我一些意见
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.243.14.102
1F:→ ogamenewbie:请你解释一下有错的那一行在干麻, 然後程式码解说的 08/24 21:18
2F:→ ogamenewbie:的部份用注解 08/24 21:19
3F:→ a761007:this.data 08/24 21:37
4F:→ a761007:错误讯息很清楚的告诉你问题了 data非静态你没办法这样用 08/24 21:40
5F:→ nesk:上面的错误是做Linkdata资料的设定 08/24 21:46
6F:→ nesk:感谢您一说我才发现 我还以为是哪个变数或韩氏被偷设成静态 08/24 21:49