2011-11-29 40 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