gpt4 book ai didi

Java - 当我在变量中存储值时为什么无效

转载 作者:行者123 更新时间:2023-11-30 06:44:10 25 4
gpt4 key购买 nike

所以,问题来了。如果我从类 - Player 调用方法 guess 并且它是一个没有 return 语句的 void 类型方法,我怎么能存储 number = (int) 的结果(Math.random() * 10)number 变量中用于 3 个不同的对象 (p1, p2, p3)?

我不太清楚什么时候应该使用 return 语句或 void 类型的方法,因为如果 number = (int)(Math.random() * 10) 给出了一些结果,我想使用,为什么我不需要从方法返回此结果以将它们传递给我在 int number = 0;/中声明的 number 变量p>

    public class Player {
int number = 0;

public void guess() {
number = (int)(Math.random() * 10);
System.out.println("I'm guessing " + number);
}
}

最佳答案

void 方法不返回任何内容,但它仍然允许您做一些事情。 (打印到控制台,修改变量等) void 关键字只是意味着它不返回值。 (在 void 方法中,您仍然可以使用空白 return; 来结束方法)并且因为您正在修改 中的 number 变量>GuessGame object 即使您不返回变量,您所做的更改也会保留。试试这个简单的测试看看我的意思:

//In your GuessGame class
int number = 0;
public void foo() {
number++;
}

public static void main(String[] args) {
GuessGames games = new GuessGames();
games.foo();
System.out.println(games.number);
//Outputs 1
}

docs对于 return 语句

关于Java - 当我在变量中存储值时为什么无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51048513/

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