我想要实现加减乘除的计算功能, 但是运行的时候结果都是Wrong!求大神讲解原因和解决方法!!多谢!!(小白一枚)
package com.practice.calculator;
import java.util.*;
public class Calculator {
double num1;
double num2;
public double calcAdd() {
return num1+num2;
}
public void showAdd() {
System.out.println("The result is :"+calcAdd());
}
public double calcMinus() {
return num1-num2;
}
public void showMinus() {
System.out.println("The result is :"+calcMinus());
}
public double calcMultiple() {
return num1*num2;
}
public void showMultiple() {
System.out.println("The result is :"+calcMultiple());
}
public double calcDivide() {
return num1/num2;
}
public void showDivide() {
System.out.print("The result is :"+calcDivide());
}
public static void main(String[] args) {
Calculator Jason = new Calculator();
Scanner input = new Scanner(System.in);
System.out.print("Please enter the first number: ");
Jason.num1=input.nextDouble();
System.out.print("Please enter method: ");
String method = input.next();
System.out.print("Please enter the second number: ");
Jason.num2=input.nextDouble();
if (method=="+") {
Jason.calcAdd();
Jason.showAdd();
} else if (method=="-") {
Jason.calcMinus();
Jason.showMinus();
} else if (method=="*") {
Jason.calcMultiple();
Jason.showMultiple();
} else if (method=="/") {
Jason.calcDivide();
Jason.showDivide();
} else {
System.out.print("Wrong!");
}
}
}
String类型的值比较用的是String的equals方法,用==判断的是地址,所以if判断条件显示他们都不相等,进入最好的else里面,应该用method.equals("+")判断
字符串比较使用equals
比如 "+".equals(methos)