package aa;
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 Calculator {
private static String result;
private static int res;
/*
* 用户 :输入第一个数
*
* 用户:输入计算符号
*
* 用户: 输入第二个数
*
* 系统:运算出结果
*/
public static void main(String[] args) {
try {
// 输入第一个数
System.out.println("请输入第一个数:");
BufferedReader reader = new BufferedReader(new InputStreamReader(
System.in));
String num1 = reader.readLine();
// 输入运算符
System.out.println("请输入运算符号:+、-、*、/");
BufferedReader reader1 = new BufferedReader(new InputStreamReader(
System.in)); // 频繁的 new该对象
String symbol = reader1.readLine();
// 输入第二个数
System.out.println("请输入第二个数:");
BufferedReader reader2 = new BufferedReader(new InputStreamReader(
System.in)); // 频繁的 new该对象
String num2 = reader2.readLine();
if ("+" == symbol) { // 错误的使用 “==”
res = Integer.valueOf(num1) + Integer.valueOf(num2);
result = String.valueOf(res);
}
if ("-" == (symbol)) { // 错误的使用 “==” // 频繁的判断,相当于计算机多了一次无用功
res = Integer.valueOf(num1) - Integer.valueOf(num2);
result = String.valueOf(res);
}
if ("*" == (symbol)) { // 错误的使用 “==” // 频繁的判断,相当于计算机多了一次无用功
res = Integer.valueOf(num1) * Integer.valueOf(num2);
result = String.valueOf(res);
}
if ("/" == (symbol)) { // 错误的使用 “==” // 频繁的判断,相当于计算机多了一次无用功
res = Integer.valueOf(num1) / Integer.valueOf(num2); // 除数为 0 时怎么办?
result = String.valueOf(res);
}
System.out.println(res); // 结果肯定是 0
System.out.println(result); // 结果肯定是 null
} catch (IOException e) {
new IllegalAnnotationException("出错啦~");
}
}
}
package aa;
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 {
private static String result;
private static int res;
/*
* 用户 :输入第一个数
*
* 用户:输入计算符号
*
* 用户: 输入第二个数
*
* 系统:运算出结果
*/
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();
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.equals("0")) {
res = Integer.valueOf(num1) / Integer.valueOf(num2);
} else {
System.out.println("除数不能为0");
}
break;
default:
break;
}
// System.out.println(res);
result = String.valueOf(res);
System.out.print("计算结果是:");
if (symbol.equals("/") && num2.equals("0")) {
System.out.println("请重新计算");
} else {
System.out.println(result);
}
} catch (IOException e) {
new IllegalAnnotationException("出错啦~");
}
}
}
这样逻辑计算是满足需求了,可是这样的代码还有什么问题吗?
知道的可以提出你们的看法