为啥我的代码无法运行?数字相加的Java程序
Posted
技术标签:
【中文标题】为啥我的代码无法运行?数字相加的Java程序【英文标题】:Why wont my code run? Java program to add numbers为什么我的代码无法运行?数字相加的Java程序 【发布时间】:2014-06-25 22:16:00 【问题描述】:你能帮我找出我的错误吗? 我在这里尝试使用这两种方法,但我的输出不起作用。
class Nine
public static void Nine(String[] args)
int x,y,z;
y = 3;
x = 7;
z = addEm(a, b);
System.out.println("answer= " +x);
public static addEm (double a, double b)
int c;
c = a+b;
【问题讨论】:
你的主要方法在哪里? addEm 方法的返回类型?您可能想要输出 z 而不是 x? SO 不是调试服务,即使对于小程序也是如此。请陈述一个可以回答并可能对未来访客有用的明确问题 你的程序不会运行,因为它不会编译! 【参考方案1】:其实你的代码有很多错误:
z=addEm(a, b);
这里 a 和 b 没有意义,你应该使用z=addEm(y,x);
(如果你的意图是三加七)
System.out.println("answer= " +x);
我猜你想显示总和的结果,因此你应该打印 z(而不是 x),所以你应该用 System.out.println("answer= " +z);
代替
public static addEm (double a, double b)
这里你错过了返回类型,你还需要考虑参数a和b的类型。由于 y,x 和 z 是 int,最好 a 和 b 也是 int,因此也将返回类型指定为 int: 公共静态 int addEm (int a, int b)
或者您可以将所有内容(y、x、z、a、b 和返回类型)声明为双精度:这里重要的是它们应该都是相同的类型。此外,您还错过了函数 addEm 的返回语句,总结变为:
public static int addEm (int a, int b)
int c;
c=a+b;
return c;
最后还有函数
public static void Nine(String[] args)
为入口点命名不正确:它的名称应该是 main。
因此,总而言之,如果您应用所有修复(通过尽可能少地修改您的原始代码),那么按照某些“逻辑”编译、运行和工作的代码是:
class Nine
public static void main(String[] args)
int x, y, z;
y = 3;
x = 7;
z = addEm(y, x);
System.out.println("answer= " + z);
public static int addEm(int a, int b)
int c;
c = a + b;
return (c);
【讨论】:
【参考方案2】:伙计,这是一个非常基础的 java 课程:
每个 prog 都需要一个入口点,在 java 中:
public static void main(String args[])
然后你的代码就会执行。
【讨论】:
其实不是这样的。代码还有一些其他问题会使编译器适应。【参考方案3】:您将参数 a 和 b 传递给 addEm,但这些变量未初始化。我希望你想传递 x 和 y。
class Nine
public static void Nine(String[] args)
int x,y,z;
y=3;
x=7;
z=addEm(x, y);
System.out.println("answer= " +x);
public static addEm (double a, double b)
int c;
c=a+b;
【讨论】:
这不会编译,因为addEm
的参数是双倍的,而您正试图将 int 传递给它。该方法也没有返回类型。
这是真的。原版有很多问题,我的回答解决了许多问题之一。解决部分问题是不是很糟糕?
没有冒犯,但这并没有解决问题。做到了吗?【参考方案4】:
您的代码将不起作用,因为您的 addEm
方法没有任何返回类型。此外,您编写的方法采用 Double 参数,但在使用时您试图将 int 传递给它。您也没有任何主要方法。我假设您拼写错误或误解了主要方法,所以下面是应该工作的代码
class Nine
public static void Main(String[] args)
int x,y,z;
y=3;
x=7;
z=addEm(x, y);
System.out.println("answer= " + x);
public static int addEm (int a, int b)
int c;
c=a+b;
return c;
【讨论】:
以上是关于为啥我的代码无法运行?数字相加的Java程序的主要内容,如果未能解决你的问题,请参考以下文章