Java 构造函数和方法

Java 构造函数和方法,java,Java,对于我的项目,我有一个问题,新一代数字是一个整数。如果作为参数传递的参数小于零,请将generationNumber实例变量设置为零。否则,将newGenerationNumber指定给generationNumber实例变量。我不知道该怎么开始。我的密码是 私有整数代数 然后我做了一个假设 If (generationNumber >0) generationNumber = generationNumber 我不知道这是否正确,我是否需要做一个elsegenerationNum

对于我的项目,我有一个问题,新一代数字是一个整数。如果作为参数传递的参数小于零,请将generationNumber实例变量设置为零。否则,将newGenerationNumber指定给generationNumber实例变量。我不知道该怎么开始。我的密码是 私有整数代数

然后我做了一个假设

If (generationNumber >0)  
 generationNumber = generationNumber
我不知道这是否正确,我是否需要做一个else

generationNumber=newGenerationNumber;
generationNumber = newGenerationNumber;
if (generationNumber < 0) {
    generationNumber = 0;
}
如果(生成数<0){ 世代数=0; }

否则,它将保持原样,如果……else是一个不错的选择,但不是唯一的选择

int generationNumber;

public Guppy (int newGenerationNumber) {
    if (newGenerationNumber > 0) {
        generationNumber = newGenerationNumber;
    } else {
        generationNumber = 0;
    }
}


默认情况下,实例int原语的值为
0
。这意味着您可以离开
else
部分,只检查它是否为正。

它说明新的GenerationInstance参数(参数)是否小于0

所以我可能会使用条件运算符(
x?y:z
):


对于简单的解决方案,我将编写如下代码

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());
   } 
public类NewNumberGenerationClass{
//实例变量,因为您可以通过类的实例访问该变量
私有int新一代号码;
公共NewNumberGenerationClass(int i){
setNewGenerationNumber(一);
}
//在获取之前设置值
public void setNewGenerationNumber(int i)
{
if(i<0)
{
this.NewGenerationNumber=0;
}
其他的
{
this.NewGenerationNumber=i;
}
}
//使用get方法访问vaule
public int getNewGenerationNumber()
{
返回此.NewGenerationNumber;
}
公共静态void main(字符串[]args){
NewNumberGenerationClass s=新的NewNumberGenerationClass(-5);
NewNumberGenerationClass s1=新的NewNumberGenerationClass(5);
System.out.println(s.getNewGenerationNumber());
System.out.println(s1.getNewGenerationNumber());
} 

}

作业
generationNumber=generationNumber无效,因为您只重新指定了当前值。但我不明白星期二的问题和构造器有什么关系。但我该如何开始呢?我不能做一个构造函数public Guppy(){它给了我一个错误,它询问newGenerationNumber的部分是什么意思?@user6394146在这里。
newGenerationNumber
是构造函数中参数的名称。我把public Guppy(int newGenerationNumber)放在这里它给了我构造函数guppy已经在类中定义了有人可以帮忙吗谢谢大家我尝试了公共guppy(int generationNumber),但它给了我错误,因为我做了一个公共guppy(int agein weeks)@user6394146:你只能有一个
guppy(int)
constructor。大概是赋值告诉你对年龄方面做些别的事情。实际上写得非常类似,这里是年龄部分,我使用了public Guppy newagein weeks作为整数。如果作为参数传递的参数小于零或大于50,则将ageInWeekageInWeek实例变量设置为零。其他e将newAgeInWeeks分配给ageInWeeks实例变量。
public Guppy(int newGenerationInstance) {
    if (newGenerationInstance < 0) {
        this.generationInstance = 0;
    } else {
        this.generationInstance = newGenerationInstance;
    }
}
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());
   }