gpt4 book ai didi

java - java中 'return'关键字放在哪里?

转载 作者:行者123 更新时间:2023-12-02 09:06:05 25 4
gpt4 key购买 nike

以下是该任务的要求:

  • 该类应该有一个带有两个参数的构造函数:一个表示人员姓名的字符串值和一个表示人员年龄的整数值。
  • 创建一个返回人员姓名和年龄的 toString 方法。值必须用空格分隔。
  • 创建 getName() 和 getAge() 方法以返回人员的姓名和年龄。
  • 创建 GrowthOlder (nYears) 方法,将人的年龄增加 nYears(整数)。
  • 在growOlder(nYears)方法中,必须保证nYears的值为正值。如果为正值(包括零值),则应增加该人的年龄,并且该方法应返回 true 值(以指示值的更改已完成)。如果 nYears 的值为负数,则年龄不应发生变化,并且该方法应返回值 false(表示值未发生变化)。

注意:为任务提供 nYears = 13这就是我们的代码将被测试的内容: enter image description here

<小时/>

到目前为止,我有以下代码并且它可以工作,但由于“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

如果我不放置返回值或返回值,则会产生错误。我真的不知道在这里做什么。预先感谢您!

最佳答案

在java中,有一些代码称为方法。 (方法有时称为函数。)

在此代码片段中,您定义了一个方法:

public int growOlder(int nYears){
if(nYears >= 0){
age = age + 13;
System.out.println("true");

}else{
System.out.println("false");
}
return nYears; //ERROR
}

该方法可以从类外部的代码公开访问。

该方法返回类型为int的值。

该方法称为growOlder

该方法接受声明为 nYearsint 类型变量。

因此方法的定义方式如下:

<visibility> <return type> <name>    <parameters>
public int growOlder (int nYears)

return 语句用于退出方法。当使用返回类型(除 void 之外的任何类型)定义方法时,方法中的所有代码路径都必须具有 return 语句及其返回的值。

让我们再次看看您的方法,看看如何使输出如您所愿。

   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,而不是返回它。

此处的操作是将返回类型从 int 更改为 boolean,并将 System.out.println() 替换为 返回 true返回 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.
}

关于java - java中 'return'关键字放在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59804811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com