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