如何从另一个类中打印内容?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
相关产品推荐
相关产品推荐

