【发布时间】:2019-07-20 13:18:08
【问题描述】:
我刚开始学习语言,但一开始就卡住了。我正在编写一个非常简单的计算器,用户必须在其中一行输入值。我按顺序获取这些值并将它们保存到我操作的变量中。为了保存值和执行操作,我有一个单独的类,叫做 Сalс。
package com.company;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.print("Enter expression:");
Calc calc = new Calc();
System.out.printf("Result is:" + calc);
}
}
class Calc {
Scanner scanner = new Scanner(System.in);
int num1 = scanner.nextInt();
String operation = scanner.next();
int num2 = scanner.nextInt();
public int calc(int num1, int num2, String operation){
int result;
switch (operation){
case "+": result = num1+num2; break;
case "-": result = num1-num2; break;
case "*": result = num1*num2; break;
case "/": result = num1/num2; break;
default: System.out.println("The operation is not recognized. Repeat entry.");
result = calc(num1, num2, operation);
}
return result;
}
}
我尝试直接调用结果:
calc(result)
calc.calc(result)
但得到“无法解析符号”结果。
在主类中,我希望得到已经计算好的值。请帮帮我。
【问题讨论】:
-
您必须在
calc对象上使用参数调用方法 -calc.calc(1, 2, "+") -
我有一个扫描仪,它应该给我用户将输入的值。程序在完成的结果应该发送到主类的 calc 方法中替换它们(值)。我希望输出有一个已经计算好的结果,而不需要代码提前指定数字和运算符。