Java 为什么这会一直输出null而不能正常工作?
上下文:我正在尝试创建“Parrot”,您可以为其设置年龄、名称和两个短语。 在你给鹦鹉提供名字后,它会问你想教他什么短语,然后它会问你该短语之后的下一个短语 当鹦鹉出生时,它被命名并知道一句话:“哇!我的名字是”。因为它是一只新鹦鹉,年龄为0,其他2个字符串为空Java 为什么这会一直输出null而不能正常工作?,java,constructor,java.util.scanner,Java,Constructor,Java.util.scanner,上下文:我正在尝试创建“Parrot”,您可以为其设置年龄、名称和两个短语。 在你给鹦鹉提供名字后,它会问你想教他什么短语,然后它会问你该短语之后的下一个短语 当鹦鹉出生时,它被命名并知道一句话:“哇!我的名字是”。因为它是一只新鹦鹉,年龄为0,其他2个字符串为空 我的代码如下,有一个Parrot类和一个ParroRunner 鹦鹉 鹦鹉螺 有问题的代码不断输出错误的输出,如下所示,经过数小时的检查和更改代码后,我无法调试它 ParrotRunner.main({ }); Provid
我的代码如下,有一个Parrot类和一个ParroRunner 鹦鹉 鹦鹉螺 有问题的代码不断输出错误的输出,如下所示,经过数小时的检查和更改代码后,我无法调试它
ParrotRunner.main({ });
Provide a name
Name
Enter the age:
1
AWWWWK! I'm 0AWWWWWK! My name is null. What do you wish me to say?
Hi
null! What's the other phrase?
Hi
null
如果你们都能帮忙,并请解释原因,我将不胜感激
public Parrot(String na, int a , String p2, String p3){
na = nameA;
a = age;
p2 = phrase2;
p3 = phrase3;
}
反之亦然:
public Parrot(String na, int a, String p2, String p3){
nameA = na;
age = a;
phrase2 = p2;
phrase3 = p3;
}
您不希望覆盖参数值,而是希望使用它们来设置字段。还要确保纠正设置器
如果您感到困惑,请在字段名之前使用此
——它应始终显示在作业的左侧:
this.nameA = na;
反之亦然:
public Parrot(String na, int a, String p2, String p3){
nameA = na;
age = a;
phrase2 = p2;
phrase3 = p3;
}
您不希望覆盖参数值,而是希望使用它们来设置字段。还要确保纠正设置器
如果您感到困惑,请在字段名之前使用此
——它应始终显示在作业的左侧:
this.nameA = na;
只有一个问题:你试过调试你的代码吗?单步完成程序,查看变量如何变化。也许你会发现哪里出了问题,然后你就学到了一些东西。比别人告诉你的要好得多。只有一个问题:你试过调试你的代码吗?单步完成程序,查看变量如何变化。也许你会发现哪里出了问题,然后你就学到了一些东西。比别人告诉你的要好得多。setter方法也一样,除了setPhrases。设置短语是正确的。我总是把
nameA=na
理解为“nameA变成na”。也许这有助于你记住正确的方向。setter方法也是如此,除了setPhrases。设置短语是正确的。我总是把nameA=na
理解为“nameA变成na”。也许这有助于你记住正确的方向。