'return' 关键字放在 java 的什么地方?
Where to put the 'return' keyword in java?
任务要求如下:
- class 应该有一个接受两个参数的构造函数:一个表示人名的字符串值和一个表示人年龄的整数值。
- 创建一个 return 人名和年龄的 toString 方法。值之间必须用space.
隔开
- 创建getName方法()和getAge()方法来return这个人的名字和年龄。
- 创建 growOlder (nYears) 方法以将此人的年龄增加 nYears(整数)。
- 在growOlder(nYears)方法中,必须保证nYears的值为正值。在正值(包括零值)时,人的年龄应该增加并且该方法应该 return 值 true (以指示值的变化已完成)。如果 nYears 的值为负,则年龄不应发生变化,并且该方法应 return 值 false(以指示值未发生变化)。
注:为任务提供了nYears = 13
这是我们的代码将被测试的地方:
到目前为止,我有以下代码并且可以正常工作,但由于 "return" 关键字,我无法最终确定它。
public class Person{
private String name;
private int age;
private int getOlder;
public Person(){
this("Otto", 25);
}
public Person( String name, int age ){
this.name = name;
this.age = age;
}
public String getName(){
return name;
}
public int getAge(){
return age;
}
public int growOlder(int nYears){
if(nYears >= 0){
age = age + 13;
System.out.println("true");
}else{
System.out.println("false");
}
return nYears; //ERROR
}
public String toString( ){
return getName() + " " + getAge();
}
}
我应该得到如下结果:
Otto 25
true
Otto 38
false
Otto 38
但是使用这段代码,我得到了这些结果:
Otto 25
true
13
Otto 38
false
-13
Otto 38
如果我没有放置 return 或 return 值,则会产生错误。我真的不知道在这里做什么。提前致谢!
在java中,有一段代码叫做方法。 (方法有时称为函数。)
在此代码段中,您定义了一个方法:
public int growOlder(int nYears){
if(nYears >= 0){
age = age + 13;
System.out.println("true");
}else{
System.out.println("false");
}
return nYears; //ERROR
}
该方法 public只能从 class 之外的代码访问。
方法 return 是 int.
类型的值
调用方法growOlder。
该方法接受类型为 int 的变量,声明为 nYears.
所以方法定义如下:
<visibility> <return type> <name> <parameters>
public int growOlder (int nYears)
return语句用于退出一个方法。当使用 return 类型(void 以外的任何类型)定义方法时,方法中的所有代码路径都必须具有 return 语句及其 returning 的值。
让我们再看看你的方法,看看如何让输出如你所愿。
public int growOlder(int nYears){
if(nYears >= 0){
age = age + 13;
System.out.println("true");
}else{
System.out.println("false");
}
return nYears; //ERROR
}
看起来您正在打印 true 和 false 而不是 returning 它。
这里的动作是把return的类型从int改成boolean,把你的System.out.println()
return true
和 return false
.
修改后,我们可以压缩方法来更清楚地传达我们的信息:
public boolean growOlder(int nYears){
age += nYears; //Add nYears to age and update its value
return nYears >= 0; //Return the value of the expression "is nYears greater than or equal to 0" yes results in true, no results in false.
}
任务要求如下:
- class 应该有一个接受两个参数的构造函数:一个表示人名的字符串值和一个表示人年龄的整数值。
- 创建一个 return 人名和年龄的 toString 方法。值之间必须用space. 隔开
- 创建getName方法()和getAge()方法来return这个人的名字和年龄。
- 创建 growOlder (nYears) 方法以将此人的年龄增加 nYears(整数)。
- 在growOlder(nYears)方法中,必须保证nYears的值为正值。在正值(包括零值)时,人的年龄应该增加并且该方法应该 return 值 true (以指示值的变化已完成)。如果 nYears 的值为负,则年龄不应发生变化,并且该方法应 return 值 false(以指示值未发生变化)。
注:为任务提供了nYears = 13
这是我们的代码将被测试的地方:
到目前为止,我有以下代码并且可以正常工作,但由于 "return" 关键字,我无法最终确定它。
public class Person{
private String name;
private int age;
private int getOlder;
public Person(){
this("Otto", 25);
}
public Person( String name, int age ){
this.name = name;
this.age = age;
}
public String getName(){
return name;
}
public int getAge(){
return age;
}
public int growOlder(int nYears){
if(nYears >= 0){
age = age + 13;
System.out.println("true");
}else{
System.out.println("false");
}
return nYears; //ERROR
}
public String toString( ){
return getName() + " " + getAge();
}
}
我应该得到如下结果:
Otto 25
true
Otto 38
false
Otto 38
但是使用这段代码,我得到了这些结果:
Otto 25
true
13
Otto 38
false
-13
Otto 38
如果我没有放置 return 或 return 值,则会产生错误。我真的不知道在这里做什么。提前致谢!
在java中,有一段代码叫做方法。 (方法有时称为函数。)
在此代码段中,您定义了一个方法:
public int growOlder(int nYears){
if(nYears >= 0){
age = age + 13;
System.out.println("true");
}else{
System.out.println("false");
}
return nYears; //ERROR
}
该方法 public只能从 class 之外的代码访问。
方法 return 是 int.
类型的值调用方法growOlder。
该方法接受类型为 int 的变量,声明为 nYears.
所以方法定义如下:
<visibility> <return type> <name> <parameters>
public int growOlder (int nYears)
return语句用于退出一个方法。当使用 return 类型(void 以外的任何类型)定义方法时,方法中的所有代码路径都必须具有 return 语句及其 returning 的值。
让我们再看看你的方法,看看如何让输出如你所愿。
public int growOlder(int nYears){
if(nYears >= 0){
age = age + 13;
System.out.println("true");
}else{
System.out.println("false");
}
return nYears; //ERROR
}
看起来您正在打印 true 和 false 而不是 returning 它。
这里的动作是把return的类型从int改成boolean,把你的System.out.println()
return true
和 return false
.
修改后,我们可以压缩方法来更清楚地传达我们的信息:
public boolean growOlder(int nYears){
age += nYears; //Add nYears to age and update its value
return nYears >= 0; //Return the value of the expression "is nYears greater than or equal to 0" yes results in true, no results in false.
}