提问人:Sarrah Sodawala 提问时间:3/3/2023 更新时间:3/3/2023 访问量:39
如何使用从一种方法到另一种方法的变量?如果您使用的是分配给 Math.random 函数的变量,有没有办法做到这一点?
How do you use variables from one method to another? Is there a way to do so if you're using a variable that's assigned to the Math.random function?
问:
在我的示例中,我使用该函数声明一个数字,该数字对应于用户被随机分配的食物。Math.random
但是,如果我要制作另一种方法来引用该随机选项,我该如何编码呢?有可能做到这一点吗?
这是我到目前为止所拥有的:
public static void foodMethod (Scanner keyboard)
{
double foodNum = (Math.random() * 3) + 0 ;
System.out.println ("Now let's see...");
System.out.println ();
if (foodNum <= 0.9) {
System.out.println ("You've decided on a sugary bowl of cereal!");
System.out.println ("Although, that headache of yours isn’t going to go away anytime soon.");
}
if (foodNum >0.9 && foodNum <=1.9) {
System.out.println ("Hmm...");
System.out.println ("Interesting");
System.out.println ("Seems like someone decided to reach for the healthy option.");
System.out.println ("You settled on some yogurt and a tall glass of orange juice. Nice work!");
}
if (foodNum >1.9 && foodNum <=3) {
System.out.println ("You end up grabbing some crackers and a glass of water to help you swallow some Tylenol to ease that headache of yours.");
}
我想回顾一下这个变量,让它打印出类似的东西,“如果你选择了含糖麦片,那么你就会开始感到疲倦和疲惫”,或者如果他们选择酸奶和橙汁,它会打印出这样的东西,“你开始感觉好多了,你的头不再那么痛了......”foodNum
作为参考,这是我想将该想法添加到的方法:
public static void tiredMethod (Scanner keyboard)
{
System.out.println ("About an hour of being bored...");
我不一定要尝试编码它,因为我不知道它是否可以编码。
答:
0赞
Calvin P.
3/3/2023
#1
为了将随机数传递给另一个方法,需要将其作为参数给出。这意味着接收方法需要一个参数。double
public static void foodMethod(Scanner keyboard) {
double foodNum = (Math.random() * 3) + 0;
tiredMethod(keyboard, foodNum);
}
public static void tiredMethod(Scanner keyboard, double num) {
System.out.println("Number received from foodMethod: " + num);
}
请注意,对于基元,该值是传递的,虽然您可以在新方法中操作它,但在方法完成后,更改不会反映出来。如果要保留对变量所做的更改,请使用 Object(“Double”是“double”的包装类)。对象通过引用传递。
评论
1赞
Mark Rotteveel
3/4/2023
对象也是按值传递的,但传递的值是对对象的引用。所以如果你有一个可变对象,你可以改变对象的内容,但是如果你给参数分配一个新对象,它就不会反映在调用方法中。
评论