package separate;
import sun.org.mozilla.javascript.internal.ast.ContinueStatement;
/**
* @author issuser
*
* 运算类
*/
public class Operation {
/**
* 进行计算
* @param num1 第一个数
* @param num2 第二个数
* @param symbol 运算符
* @return 运算结果
*/
public static int getResult(int num1,int num2,String symbol){
int res = 0;
switch (symbol) {
case "+":
res = Integer.valueOf(num1) + Integer.valueOf(num2);
break;
case "-":
res = Integer.valueOf(num1) - Integer.valueOf(num2);
break;
case "*":
res = Integer.valueOf(num1) * Integer.valueOf(num2);
break;
case "/":
if (num2 != 0) {
res = Integer.valueOf(num1) / Integer.valueOf(num2);
} else {
System.out.println("除数不能为0,结果错误");
}
break;
default:
break;
}
return res;
}
}
package separate;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import com.sun.xml.internal.txw2.IllegalAnnotationException;
/**
* 我的QQ : 2622596982
*
* 邮箱: android_lzd@163.com
*
* QQ 交流群 : 277599214
*
* tips : 欢饮各位朋友多多提意见,小弟不胜感激
*
*
*
*/
public class Calculator1 {
/*
* 用户 :输入第一个数
*
* 用户:输入计算符号
*
* 用户: 输入第二个数
*
* 系统:运算出结果
*
* 这样写存在的问题之一: 现在需求说再写一个该计算器---你也许会说,那还不简单啊,我复制、粘贴一份就完成了,多简单的事啊。
*
* 可是你想想,如果我们的程序中大量的使用了该段代码,你又不挺的进行复制、粘贴,那带来的后果是什么?
*
* 怎么做呢?
*
* 那就是让运算和显示分离开来,独立封装成类
*
*
*
*/
public static void main(String[] args) {
BufferedReader reader = null;
try {
// 输入第一个数
System.out.println("请输入第一个数:");
reader = new BufferedReader(new InputStreamReader(System.in));
String num1 = reader.readLine();
// 输入运算符
System.out.println("请输入运算符号:+、-、*、/");
String symbol = reader.readLine();
// 输入第二个数
System.out.println("请输入第二个数:");
String num2 = reader.readLine();
int result = Operation.getResult(Integer.valueOf(num1), Integer.valueOf(num2), symbol);
System.out.print("计算结果是:");
System.out.println(result);
} catch (IOException e) {
new IllegalAnnotationException("出错啦~");
}
}
}