2013-10-31 110 views
-1

Iam試圖弄清楚類是如何工作的,出於某種原因,無論我讀了多少次我的java書,我都不知道它。我創建了這個類,然後嘗試了調用它(叫電話嗎?)我的簡單代碼/類是什麼

public class ovn7a { 

    int []vektor; 

public ovn7a() { 

for(int k=1; k<10; k++){ 
vektor[k]=0+k; 
System.out.println(vektor[k]); 
} 

然後在另一個窗口,我有這個

public class test1 { 
public static void main(String []args) { 
ovn7a hej = new ovn7a(); }} 

那麼,我認爲這是要發生的事是我創建了一個VEKTOR。然後在構造函數中有一個函數給1-10號插槽。我意識到,我已經命名或告訴了vektor有多少總插槽,創建課程時我不知道該在哪裏做。通常我只是

write int [] vektor = new int [20];

但與類..你是我不知道跆拳道做。

無論如何,當我從其他「文件」運行這個類時,我想我會從類中取出構造函數中的所有內容,複製它或將其命名爲hej。所以我認爲它現在會在構造函數中做什麼,它會創建數字並將其放入vektor中,然後將其打印出來,但沒有任何反應。

回答

1

在你的類ovn7a中,for循環沒有結束關閉它。這是它應該看起來像。此外,我已將Ovn7a類重新命名(這是一個Java慣例,您將以大寫字母開始類名)。

public class Ovn7a { 

    int []vektor; 

    public ovn7a() { 

     for(int k=1; k<10; k++){ 
     vektor[k]=0+k; 
     System.out.println(vektor[k]);} //this } is what you are missing 
    } 
} 

當你創建你自己的類的實例(通過鍵入Ovn7a HEJ =新Ovn7a()),那麼它運行在構造函數中的代碼是你的for循環。

此外,你有什麼不是矢量對象。這是一個名爲「vektor」的數組。 您已命名該數組。然後你需要實例化它並給它一些值。因此,在構造函數的頂部添加此行:

vektor = new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; 
+1

由於VEKTOR變量獲得它在循環中設置的值,你可以聲明數組如下:'INT [] VEKTOR =新的INT [10]; ' –

+0

也沒有理由將vektor [k]設置爲0 + k。將0添加到任何整數是多餘的。 – Brandon