Java 简单命令行计算器

Java 简单命令行计算器,java,Java,我已经用Java编写了一个命令行计算器的代码,但我无法理解不允许编译的错误 public class Calculator{ public static void main(String[] args){ int numOne = args[0]; int numTwo = args[1]; add(numOne, numTwo) { result = numOne + numTwo; System.out.println("{numOne} + {numTwo} = {re

我已经用Java编写了一个命令行计算器的代码,但我无法理解不允许编译的错误

public class Calculator{
public static void main(String[] args){

int numOne = args[0];
int numTwo = args[1];

add(numOne, numTwo) {
    result = numOne + numTwo;
    System.out.println("{numOne} + {numTwo} = {result}");
}

subtract(numOne, numTwo) {
    result = numOne - numTwo;
    System.out.println("{numOne} - {numTwo} = {result}");
}

multiply(numOne, numTwo) {
    result = numOne * numTwo;
    System.out.println("{numOne} * {numTwo} = {result}");
}

divide(numOne, numTwo) {
    result = numOne / numTwo;
    System.out.println("{numOne} / {numTwo} = {result}");
}
}
}

您不能在主方法中定义方法,因此这很可能是Java中的第一个程序之一。这没什么错,但这使您成为大多数Java编程入门文章的目标读者的一个例子(如果您没有老师的话)


Oracle Java教程相当不错。您可能希望从

开始,args[]是字符串[]。不能将其成员直接分配到int中

您应该使用Integer.parseInt(字符串)将其表示为int

还有。没有“println()”。你可能是指System.out.println(字符串)。在参数中没有“字段替换”(与C printf一样),但需要装入表达式:

 System.out.println(numOne + " / " + numTwo + " = " + result);
(此处+是串联运算符,因为它涉及字符串)

最后(我一眼就能看出),必须定义在main外部(但在类内部)调用的函数。您还需要将它们声明为静态(作为main)或创建此类的新对象,以便从main()访问它们


如果在所有这些之后它仍然无法编译,请发布编译错误消息。

代码的java翻译为:

public class Calculator {

  public static void add(int numOne, int numTwo) {
    int result = numOne + numTwo;
    System.out.println(numOne + " + " + numTwo + " = " + result);
  }

  public static void subtract(int numOne, int numTwo) {
    int result = numOne - numTwo;
    System.out.println(numOne + " - " + numTwo + " = " + result);
  }

  public static void multiply(int numOne, int numTwo) {
    int result = numOne * numTwo;
    System.out.println(numOne + " * " + numTwo + " = " + result);
  }

  public static void divide(int numOne, int numTwo) {
    int result = numOne / numTwo;
    System.out.println(numOne + " / " + numTwo + " = " + result);
  }

  public static void main(String[] args) {
    int numOne = Integer.parseInt(args[0]);
    int numTwo = Integer.parseInt(args[1]);
    add(numOne, numTwo);
    subtract(numOne, numTwo);
    multiply(numOne, numTwo);
    divide(numOne, numTwo);
  }
}

错误到底是什么?请编辑您的帖子并添加详细信息。也许您应该从阅读一篇好文章开始。这篇文章充满了错误,它甚至还没有接近Java——我不知道去哪里start@giddy首先,他有一些函数,在他的主方法中有奇怪的签名。第二,他使用println而不使用
系统。out
。。。等等@cularis是的,现在我正在看代码,我只是在几秒钟内浏览了一下这个问题,然后发表了我的评论!:PI已经编辑了代码,我使用了System.out,现在我正在尝试理解你写的其他东西看到代码中的所有错误我猜你太快了,跳过了步骤。。。接受这里一些人的建议,学习Java教程,从更简单的(“Hello world”)示例开始。你给了这个人一条鱼。非常感谢,现在我明白了everything@dlev不用担心,我现在明白了,我必须在main类之外声明方法,然后从main调用它们,我明白了如何检索参数并将它们分配给variable@Cipher那你就在路上了。喜欢学习一门非常甜美的语言。这是一点帮助,显然他知道如何用另一种语言编程;纠正这个错误花了两分钟。我们知道,有了这个例子,他仍然必须“享受学习一门非常甜美的语言”我同意