2015-12-02 23 views
0

我的任務是編寫一個名爲Point的類,該類有兩個double類型的數據成員。默認構造函數應該初始化指向原點。同時創建一個重載的構造函數fot Point類,它將兩個雙打作爲參數。這個類應該有getX,getY,setX,setY和setXY方法來獲取和設置數據成員。還包括爲此點輸出座標的toString方法。基本Java - 如何使用方法等

這是我的代碼如下所示:

import java.util.Scanner; 

public class Point { 

private double x; 
private double y; 

public void getX(){ 
     Scanner scan = new Scanner(System.in); 
     double x = scan.nextInt(); 
} 
public double setX(double x){ 
    return x; 
} 
public void getY(){ 
     Scanner scan = new Scanner(System.in); 
     double y = scan.nextInt(); 
} 
public double sety(double y){ 
    return y; 
} 
public void setXY(double x, double y){ 
    double xy = (x + y); 
} 
public String toString(double xy){ 
    return xy; 
} 

} 

有人可以幫助我在告訴我什麼,我做錯了什麼?

+0

哪裏是重載的構造函數?它缺失。也toString()似乎是returnign xy,但我不'看到它的定義。定義一個字符串private String xy;然後你不需要傳遞任何參數給toString()只需要public String toString(){return「x:」+ x +「」+「y:」+ y; } – SomeDude

+1

有一件事你做錯了,你正試圖編寫代碼而不理解代碼應該做什麼。你認爲一個名爲'setXY(double x,double y)'的方法應該做什麼? –

回答

1

您的Point將用於其他代碼,例如,一個帶有main方法的可運行類。

從該其他代碼您將實例化對象Point即通過使用Contructor

例如

Point myPoint = new Point (1.23, 3.45); 

看看構造函數是如何傳遞數據的。 你Point類,那麼應該有一個像

public Point (double x, double y) { 
    this.x = x; 
    this.y = y; 
} 

構造如果你使用像Eclipse的IDE,並宣佈領域,如

double x; 
double y; 

那麼它僅僅是在球場上右擊的情況下自動產生settersgetters,他們會像

public void setX (double x) { 
    this.x = x; 
} 

的想法Ø這類課程是爲了保存數據。由於數據即xy被已經召開,那麼就沒有必要基於上述再將此數據傳遞到類簡單地打印出來,從而

public String toString(){ 
    return "x:" + x + " y:" + y); 
} 

,我相信你自己看着辦出setXY方法。