对于我的项目,我有一个问题,说newGenerationNumber是一个整数。如果作为参数传递的参数小于零,则将generationNumber实例变量设置为零。否则将newGenerationNumber分配给generationNumber实例变量。我对如何开始这个很困惑。我的代码是我的 私有int generationNumber
然后我做了一个if
If (generationNumber >0)
generationNumber = generationNumber
如果这是对的,我很困惑,如果我需要做一个其他的
答案 0 :(得分:0)
generationNumber = newGenerationNumber;
if (generationNumber < 0) {
generationNumber = 0;
}
否则它会保持原样
答案 1 :(得分:0)
if...else
在这里是个不错的选择,但不是唯一的选择。
int generationNumber;
public Guppy (int newGenerationNumber) {
if (newGenerationNumber > 0) {
generationNumber = newGenerationNumber;
} else {
generationNumber = 0;
}
}
Instance int primitives默认值为0
。这意味着您可以离开else
部分,只检查它是否为正。
答案 2 :(得分:0)
它表示 new GenerationInstance参数(参数)是否小于0.
所以我可能会使用条件运算符(x ? y : z
):
public Guppy(int newGenerationInstance) {
this.generationInstance = newGenerationInstance < 0 ? 0 : newGenerationInstance;
}
或者如果您愿意,可以使用if
/ else
:
public Guppy(int newGenerationInstance) {
if (newGenerationInstance < 0) {
this.generationInstance = 0;
} else {
this.generationInstance = newGenerationInstance;
}
}
答案 3 :(得分:0)
对于简单的解决方案,我会编写如下代码
public class NewNumberGenerationClass {
//instance variable because you can access this with the instance of the class
private int NewGenerationNumber;
public NewNumberGenerationClass(int i){
setNewGenerationNumber(i);
}
//setting value before getting it
public void setNewGenerationNumber(int i)
{
if(i < 0)
{
this.NewGenerationNumber = 0;
}
else
{
this.NewGenerationNumber = i;
}
}
//access vaule using get method
public int getNewGenerationNumber()
{
return this.NewGenerationNumber;
}
public static void main(String[] args){
NewNumberGenerationClass s = new NewNumberGenerationClass(-5);
NewNumberGenerationClass s1 = new NewNumberGenerationClass(5);
System.out.println(s.getNewGenerationNumber());
System.out.println(s1.getNewGenerationNumber());
}
}