我在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}");
}
}
}
答案 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()访问它们。
如果完全没有编译,请发布编译错误消息。