简单的命令行计算器

时间:2011-07-21 06:41:41

标签: 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} = {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}");
}
}
}

3 个答案:

答案 0 :(得分:3)

您的代码的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);
  }
}

答案 1 :(得分:1)

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

Oracle Java教程非常好。您可能希望从http://download.oracle.com/javase/tutorial/java/index.html

开始

答案 2 :(得分:1)

args []是一个String []。您不能将其成员直接分配到int。

您应该使用Integer.parseInt(String)将其表示形式为int。

另外。没有“println()”。你可能意味着System.out.println(String)。在参数中没有“字段替换”(就像C printf一样),但是你需要挂载表达式:

 System.out.println(numOne + " / " + numTwo + " = " + result);

(这里+是连接运算符,因为它涉及字符串)

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

如果完全没有编译,请发布编译错误消息。