You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从另一个类中打印内容?Java代码实现咨询

从其他方法中打印内容的解决方案

嘿,我来帮你搞定这个问题!你的核心困扰是局部变量的作用域限制——你在Add方法里定义的c是局部变量,只能在那个方法内部访问,main方法根本“看不到”它。另外还有几个小细节需要调整,我一步步给你讲清楚:

先修正基础规范

Java里方法名遵循小驼峰命名法,所以Add建议改成add;另外方法参数名和main的args重名容易混淆,换成nums这类表意清晰的名字会更好。

三种可行的解决方案

方案一:让计算方法返回结果,在main中接收并打印

这是最常用、最规范的方式——让add方法把计算好的结果返回给main方法,再由main负责打印:

public class AddNumbers{ 
    public static void main(String[] args){ 
        // 传入一个int数组作为计算参数,比如{2, 3}
        int result = add(new int[]{2, 3});
        System.out.println(result);
    } 
    // 修改方法返回类型为int,将计算结果返回
    public static int add(int[] nums){ 
        int a = nums[0]; 
        int b = nums[1]; 
        int c = a+b; 
        return c;
    } 
}

方案二:直接在计算方法内部打印结果

如果不需要在main方法中复用这个计算结果,可以直接在add方法里完成打印,更简单直接:

public class AddNumbers{ 
    public static void main(String[] args){ 
        // 调用add方法并传入计算数组
        add(new int[]{5, 7});
    } 
    public static void add(int[] nums){ 
        int a = nums[0]; 
        int b = nums[1]; 
        int c = a+b; 
        // 直接在这里打印计算结果
        System.out.println(c);
    } 
}

方案三:使用类静态变量共享值(不推荐除非必要)

把c定义为整个类的静态成员变量,这样所有静态方法都能访问到它。不过这种方式会让变量被全局共享,容易引发意外问题,一般不建议用:

public class AddNumbers{ 
    // 定义类级别的静态变量,供所有静态方法访问
    private static int c;
    
    public static void main(String[] args){ 
        add(new int[]{10, 20});
        System.out.println(c);
    } 
    public static void add(int[] nums){ 
        int a = nums[0]; 
        int b = nums[1]; 
        c = a+b; 
    } 
}

额外注意

调用add方法时一定要传入长度至少为2的int数组,不然会触发ArrayIndexOutOfBoundsException(数组越界异常)哦!

内容的提问来源于stack exchange,提问作者Samuel Fipps

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:15:35