利用java语言实现不带界面的简单的计算器小程序
如何使用Java语言以面向对象的思想去实现这样的一个简单的计算器呢? 我写了两种方法, 做法如下所示:
方法一:
import java.util.Scanner; public class 计算器 { public static void main(String[] args) { System.out.print("请输出第一个数:"); Scanner scanner = new Scanner(System.in); String x = scanner.nextLine(); System.out.println("请输入算术运算符(+ ,- ,* ,/)"); String o = scanner.nextLine(); System.out.print("请输出第二个数:"); String y = scanner.nextLine(); double Result = number(Double.parseDouble(x),Double.parseDouble(y),o); System.out.println(Result); } public static double number(double num1, double num2, String opr){ double result =0; switch (opr){ case "+": result = num1 + num2; break; case "-": result = num1 - num2; break; case "*": result = num1 * num2; break; case "/": result = num1 / num2; break; } return result; } }
方法二:
import java.util.Scanner; public class 计算器方法二 { public static void main(String[] args) { System.out.print("=========================================="); System.out.println("请输入一个算术表达式,如:25*50"); Scanner scanner = new Scanner(System.in); String str = scanner.nextLine(); StringBuffer buffer = new StringBuffer(); StringBuffer buffer1 = new StringBuffer(); char opr = ; for (int i = 0; i < str.length(); i++) { if (str.charAt(i) == + || str.charAt(i) == - //charAt(i)函数用于获取字符串中第i位置的字符 || str.charAt(i) == * || str.charAt(i) == /) { opr = str.charAt(i); for (int j = i + 1; j < str.length(); j++) { buffer1.append(str.charAt(j)); } break; } else { buffer.append(str.charAt(i)); } } String c = buffer.toString(); String d = buffer1.toString(); double a = Double.parseDouble(c); double b = Double.parseDouble(d); double sum = 0; if (opr == +) { sum = a + b; } if (opr == -) { sum = a - b; } if (opr == *) { sum = a * b; } if (opr == /) { sum = a / b; } System.out.println("程序运算中..."); System.out.println(c+opr+d+"="+sum); System.out.print("=========================================="); } }
注意:只可以计算加减乘除哦~
下一篇:
springboot实现语言切换