如何实施类Alkio?

时间:2011-11-29 10:33:07

标签: java

我有以下要解决的问题:实现类Alkio。使用完成的主程序AlkioPaa.java进行测试,您可以使用它来查看您的类的功能。 我对这个问题的回答如下:

/**
* @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 on alkio (2,5,12) Muutettu alkio 所以它不打印(1,2,10)应该是。

1 个答案:

答案 0 :(得分: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;
    }