2013-12-12 57 views
-1

我必須寫一個Resistor類。當電阻對象首次實例化時,其默認電阻爲1歐姆,其默認類型爲「電影」。這是我所有的如何在方法中使用setter和getters

public class Resistor{ 
private int resistance; 
private int type; 

public Resistor(int r) { 
    resistance = r; 
} 

public int getResistance() { 
    return resistance; 
} 

public double getType() { 
    return type; 

} 
} 
+5

你是什麼問題? –

+0

如果'type'的默認值應該是'「film」',那麼「film」幾乎可以肯定是一個字符串而不是int。 – nhgrif

+1

只需使用枚舉而不是int或String即可。但是,不確定這個問題到底是什麼。 – TastyLemons

回答

-1

你忘了定義setter的類型和阻力。

public void setResistance(int resistance) { 
    this.reistance = resistance; 
} 

public void setType(double type) { 
    this.type = type; 
} 

如何使用的setter/getter方法「?

=>您可以創建一個類的對象,並且可以使用setter方法賦值,每當你需要從對象的值您可以使用getter方法

例如:

Foo foo = new Foo(); 
foo.setResistance(2); 
foo.setType(2.2); 
+0

這是一個非常不完整的答案。他也忘記了一個'阻力'的setter,將'type'留在構造函數中,沒有包含他的要求明確要求的默認構造函數。 – nhgrif

-2

如果你婉t默認值,您可以這樣做:

public Resistor() { 
resistance = 1; 
type = Type.film 
} 

類型引用您應該創建的Enum。枚舉有利於使這些類型的東西:

public enum Type { 
film, carbon, wirewound 
//add more if needed 
} 

要使用它,就像上面只是去:

type = Type.film or Type.carbon 

希望這有助於有點

:)

+0

我說過它的必要嗎?我說它很有用。如果他想要一個默認值,甚至傳遞它的意義是什麼? – TastyLemons

1

第一,type不是int數據類型,其String

你的構造應該是這樣的,因爲它有默認值

public Resistor() { 
    resistance = 1; 
    type = "film"; 
} 

的二傳手,

public void setResistance(int r){ 
    resistance = r; 
} 

public void setType(String t){ 
    type = t; 
} 
+0

它幾乎肯定應該是'enum',而不是'String'。 – chrylis

相關問題