2017-03-16 71 views
-6
public class DSAStack 
{ 
    private int count; 
    private double[] stack; 
    public static final int default_capacity = 100; 

    public DSAStack() 
    { 
     this.stack = stack[default_capacity]; 
     this.count = 0; 
    } 

    public DSAStack(int capacity) 
    { 
     this.stack = stack[capacity]; 
     this.count = 0; 
    } 
} 

Eclipse的建議速戰速決,使沒有變化,只是強調了double[],可能是一個非常愚蠢的錯誤,但我無法弄清楚。類型不匹配:不能從雙轉換翻倍[]

+4

'新的堆棧[default_capacity]' – Arkadiy

+0

我建議你改變了第一個構造函數代碼爲'這(default_capacity);'使用'DSAStack(INT)' ,這將不太重現。其餘的,請參閱答案來理解問題。 – AxelH

+0

stack [capacity]返回最後一個元素後面的元素。 – efekctive

回答

1

我想你的意思

this.stack = new double[default_capacity]; 

this.stack = new double[capacity]; 
+0

是的,我發現它後,我覺得很愚蠢。 Thx – CitrisLemon

+0

沒問題,有時候會發生。 – aUserHimself

+0

請刪除該問題以避免爲提問禁止 – Arkadiy

0

this.stack = stack[default_capacity];您嘗試在索引中插入值stack等於default_capacity,這是double。爲此錯誤

類型不匹配:不能從雙轉換翻倍[]

你需要使用new

this.stack = new double[default_capacity]; 
0

this.stack =堆疊[default_capacity]

初始化 stack

堆棧是double []。 堆棧[default_capacity]是雙精度。

+0

您應該嘗試使用代碼標籤來設置您的答案的格式。如果英文對你來說不容易,至少代碼將是可讀的;) – AxelH

-1

Double是類類型。 nextDouble返回原始類型double。將A更改爲雙列

double [] A = new double [Size];

+0

這沒有意義,OP使用原始類型數組'double []'而不是'Double []'。所以這根本不是一個班級的數組。這個'nextDouble'返回一個原始類型是什麼?這不清楚。 – AxelH

0

你應該把它與新的寫:

this.stack = new stack[default_capacity]; 
相關問題