2017-03-03 4 views
-4

私の問題は、他の2つのパラメータが動作せず、最初のパラメタリピート出力ですか?ここセッターメソッドは動作しません

public static void main(String[] args) { 
    Time object = new Time(8, 60, 13); 
    System.out.println(object.getHour()+ ":" + object.getMinute() + ":" + object.getSecond()); 
} 

、私のクラスは次のとおりです:

は、ここでの主なクラスです

public class Time { 
private int hour; 
private int minute; 
private int second; 

    public int getHour(){ 
    return hour; 
} 
public void setHour(int h){ 
    hour = h; 
} 
public int getMinute(){ 
    return hour; 
} 
public void setMinute(int m){ 
    minute = m; 
} 
public int getSecond(){ 
    return hour; 
} 
public void setSecond(int s){ 
    second = s; 
} 
public Time(int h,int m,int s){ 
    setHour(h); 
    setMinute(m); 
    setSecond(s); 
} 
+3

メソッド 'getHour'、' getMinute'および 'getSecond'は何を返しますか?それはあなたが欲しいものですか? – n247s

+0

ゲッターが完全に間違った値を返すようなぎりぎりのエラーについては、今後独自のコードを確認してください。あなたは 'getHour(){return 0;}'を書くことはできませんし、 'setHour(5)'がうまくいかないとstackoverflowに行きます。 –

答えて

2

はあなたのセッターは正しいですが、貼り付けをコピーすることによりゲッターが壊れているようです。

あなたがゲッターにタイプミスがあります

public int getMinute(){ 
    return hour; // You are returning hour instead of minute 
} 

public int getSecond(){ 
    return hour; // You are returning hour instead of second 
} 

あなたはそれを変更する必要があります。

public int getMinute(){ 
    return minute; 
} 

public int getSecond(){ 
    return second; 
} 
0

あなたのゲッターgetSecond()は時間ではなく秒を返すようです。

関連する問題