函数的参数和返回语句

问题描述 投票:0回答:1
import java.util.*;
class Main{
    public static int  factorial(int a){
      int fac=1;
       for(int i=1;i<=a;i++){
            fac=fac*i;
            
    }
    return fac;
    }
    public static void main( String[] args){
       Scanner sc= new Scanner(System.in);
       int a = sc.nextInt();
       
       System.out.print(fac);
    }
        
 }
System.out.print(fac);
                        ^
  symbol:   variable fac
location: class Main
1 error

这是显示的错误,我的问题是,如果我们在函数中声明了变量并且它在循环期间存储更新的值,那么为什么我们需要定义一个新变量来存储阶乘的值!!

import java.util.*;
class Main{
    public static int  factorial(int a){
        int fac=1;
       for(int i=1;i<=a;i++){
            fac=fac*i;
            
    }
    return fac;
    }
    public static void main( String[] args){
       Scanner sc= new Scanner(System.in);
       int a = sc.nextInt();
       int sum =factorial(a);
       System.out.print(sum);
    }
        
 }
    

这是所示的解决方案,为什么我们需要将值存储在函数名称而不是 fac 中?

function variables return arguments
1个回答
0
投票

我们需要将值存储在函数名称中的原因是为了让调用该函数的代码可以使用计算结果。在这种情况下,主函数调用阶乘函数并将返回值存储在变量 sum 中。因此,这允许主函数在后续代码中使用计算结果,例如:将结果打印到控制台。

© www.soinside.com 2019 - 2024. All rights reserved.