2011-11-29 62 views
-4

我在java中有以下問題需要解決:實現類Alkio。使用完成的主程序AlkioPaa.java進行測試,您可以看到您的類正在運行。 我要回答的問題是以下幾點:如何實現類Alkio?

/** 
* @author A. 
* @version 28.11.2011 
* Tehtävä5. Ohjelma Toteuttaa luokan Alkio */ 

public class Alkio { 
    private int rivi; 
    private int sarake; 
    private int arvo; 


    public Alkio(int rivi, int sarake, int arvo){ 
    int Rivi= rivi; 
    int Sarake=sarake; 
    int Arvo=arvo; 
    } 

    public void setAlkio(int rivi, int sarake, int arvo){ 
    System.out.println("("+rivi+","+sarake+","+arvo+")"); 
    } 

    public int getArvo(){ 
    return arvo; 
    } 

    public int getRivi(){ 
    return rivi; 
    } 

    public int getSarake(){ 
    return sarake; 
    } 

    //jotain häikkää seuraavassa(28.11.2011). Häikkä poistunut(29.11.2011) 
    public String toString(){ 
    String merkkijono= new String(); 
    return merkkijono; 
    } 
} 

有沒有意見? 然後測試與主程序AlkioPaa.java做這是繼:

public class AlkioPaa { 

    public static void main(String[] args) { 

    Alkio eka = new Alkio(1,2,10); 

    System.out.println("Tein alkion, jonka rivi on " + eka.getRivi() 
     + " ja sarake on " + eka.getSarake() + ". Arvo on " + eka.getArvo()); 


    System.out.println("\n alkio on " + eka.toString()); 

    String apu = eka.toString(); 

    System.out.println("alkio " + apu); 

    eka.setAlkio(2, 5, 12); 

    System.out.println("Muutettu alkio " + eka); 
    } 
} 

當我運行主程序將打印:

Tein alkion, jonka rivi on 0 ja sarake on 0. Arvo on 0 

alkio上 alkio (2,5,12) Muutettu alkio 所以它不打印(1,2,10)應該是。

+3

請妥善下一次格式化你的代碼。 – MByD

+2

請標記家庭作業!你粘貼的代碼甚至有剩下的任務編號:P – Zavior

+1

除了MByD在他的回答中評論過的內容,我還想指出,有一個函數setAlkio沒有設置「Alkio」是非常不直觀的「,而只是打印出接收到的參數。 – flesk

回答

3

你爲什麼期望它打印(1,2,10)?

  1. 您將值重新設置爲2,5,12(eka.setAlkio(2, 5, 12);)。 (不過,作爲評論由@flesk的問題,你實際上並沒有將它們設置...)
  2. 你沒有覆蓋toString方法,你應該有:

    public String toString(){ 
        return "("+rivi+","+sarake+","+arvo+")"; 
    } 
    
  3. 在你構造函數,你不設置類成員給定的參數,因爲你的方法隱藏起來,構造函數應該是:

    public Alkio(int rivi, int sarake, int arvo){ 
        this.rivi= rivi; 
        this.sarake=sarake; 
        this.arvo=arvo; 
    } 
    
+0

爲什麼是這個而不是其他的那?爲什麼你把這個.rivi = rivi; this.sarake = rivi; this.arvo = RIVI;而不是int Rivi = rivi; int Sarake = sarake; int Arvo = arvo;? – alvoutila

+0

@alvoutila:'this'是一個保留關鍵字並引用當前對象。那就是當你在你的構造函數中使用'this.rivi = rivi'時,你說對象變量'rivi'應該將傳入構造函數的'rivi'的值作爲參數。請注意,它們是兩個不同的變量。當你編寫'int Rivi = rivi'時,你聲明瞭第三個變量,它是構造函數的本地變量,並一舉破除了java命名約定。 – flesk

+0

如何將這個Alkio類導入一個類(例如公共類T6 {...)?進口Alkio;​​? – alvoutila