gpt4 book ai didi

java - 如何在函数内部创建一个变量,在每次调用时保存其值

转载 作者:行者123 更新时间:2023-11-30 05:42:29 25 4
gpt4 key购买 nike

我想知道如何以及是否可以在函数内定义变量并在每次调用中累积其值。例如:

public int foo(int num, int cost){
int sum;
sum += num*cost;
System.out.println("all costs are "+ sum);
return sum;
}

我希望变量 sum 从一个调用到另一个调用累积其值,以便以下调用:

foo(5,3);
foo(2,8);

将打印此输出:

all costs are 15
all costs are 31

我可以用java来做这个吗?如果是的话我该怎么做。很抱歉,我不知道我正在尝试实现的概念。我知道用其他语言也可以做到。

最佳答案

您所做的是在每次调用方法 foo() 时创建具有相同名称 sumint 类型新对象。当您创建新对象时,先前的值将被覆盖。

但是您想保存该值以供以后使用。因此,要实现此目的,您必须更改变量的范围并在函数外部声明它。因此,每个方法都可以使用它,并且它可以保存其先前的值。

工作代码:

public class stackInt
{
public static int sum=0; // now every method can access this variable
public static void main(String[] args)
{
foo(5,3);
foo(2,8);
}

// according to your output you dont have to set return type as "int"
public static void foo(int num, int cost)
{
sum += num*cost;
System.out.println("all costs are "+ sum);
//return sum; as you have printed the output what you want, so, no need to return "sum"
}
}

注意:在打印中,您使用的是cost,但根据输出,它应该是sum,而且,不需要返回 sum 如果您的目标只是打印它。

关于java - 如何在函数内部创建一个变量,在每次调用时保存其值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55406783/

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