A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 常文艺 黑马帝   /  2011-11-21 13:32  /  1317 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 常文艺 于 2011-11-21 13:50 编辑

public class FunctionOverload
{
public static void main(String agrs[])
{
int sum=he(4,5);
System.out.println(a+"*"+x+"="+a*x);
}
第6行报错

public static int he(int a,int x)
{
return a*x;
}
}

5 个回复

倒序浏览
System.out.println(a+"*"+x+"="+a*x);中的x和a 和下面的是不一样的,你必须的先定义如int a=4,int x =5;a 和x只是一个局部变量而已 只能在he这个函数里面起作用 出了这个函数没有了
回复 使用道具 举报
a和x在main方法中没有定义
回复 使用道具 举报
本帖最后由 袁世宇 于 2011-11-21 13:50 编辑

a和x是当he的参数传递的 ,你可以改成这样System.out.println("a*x="+a*x); 当作一个字符串,还有 为什么你都求sum的值了
还有写a*x呢 直接System.out.println("a*x="+sum);就可以啦
回复 使用道具 举报
冯敏 黑马帝 2011-11-21 14:27:14
报纸
a和x必须在类中定义,int he()方法中的a、x在he()方法中属于局部变量,出了该方法就没作用啦,可以这样改:int a =4;  int x = 5;  int sum=he(a,x);  System.out.println(a+"*"+x+"="+sum);
回复 使用道具 举报
a不是成员变量而是局部变量,只能在本方法内用。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马