看板 java 關於我們 聯絡資訊
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
ogamenewbie:請你解釋一下有錯的那一行在幹麻, 然後程式碼解說的 08/24 21:18
ogamenewbie:的部份用註解 08/24 21:19
a761007:this.data 08/24 21:37
a761007:錯誤訊息很清楚的告訴你問題了 data非靜態你沒辦法這樣用 08/24 21:40
nesk:上面的錯誤是做Linkdata資料的設定 08/24 21:46
nesk:感謝您一說我才發現 我還以為是哪個變數或韓氏被偷設成靜態 08/24 21:49