不带有界面的简单的计算器小程序(Java语言实现)
2016-10-23 09:43
886 查看
在看《大话设计模式》这本书,在开篇的第一部分介绍面向对象时候,介绍了一位童鞋面试时面试官让他使用面向对象语言实现一个简单的计算器,然而这位同学却没能很好地理解考官的意思,导致面试失败。那么如何使用Java语言以面向对象的思想去实现这样的一个简单的计算器呢?
本文给出两种实现的方式。
实现1:
import java.util.Scanner;
/*
* 《大话设计模式》中的计算器实现代码
* */
public class Operation {
public static double GetResult(double numA, double numB, String opr) {
double result = 0d;
switch (opr) {
case "+":
result = numA + numB;
break;
case "-":
result = numA - numB;
break;
case "*":
result = numA * numB;
break;
case "/":
result = numA / numB;
break;
}
return result;
}
public static void main(String[] args) {
System.out.println("请输入数字A:");
Scanner scan = new Scanner(System.in);
String strNumA = scan.nextLine();
System.out.println("请输入运算符号(+、-、*、/):");
String strOpr = scan.nextLine();
System.out.println("请输入数字B");
String strNumB = scan.nextLine();
String strResult = "";
double Result = GetResult(Double.parseDouble(strNumA), Double.parseDouble(strNumB), strOpr);
strResult = String.valueOf(Result);
System.out.println(strResult);
}
}
实现2:
import java.util.Scanner;
public class Calculator {
public static void main(String[] args) {
System.out.println("-----------------------------------");
System.out.println("请输入一个算术表达式,如:45*23");
Scanner in = new Scanner(System.in);
String str = in.nextLine();
StringBuffer buffer = new StringBuffer();
StringBuffer buffer1 = new StringBuffer();
char t = ' ';
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) == '+' || str.charAt(i) == '-'
|| str.charAt(i) == '*' || str.charAt(i) == '/') {
t = 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 (t == '+') {
sum = a + b;
}
if (t == '-') {
sum = a - b;
}
if (t == '*') {
sum = a * b;
}
if (t == '/') {
sum = a / b;
}
System.out.println("程序运算...");
System.out.println(c+t+d+"="+sum);
System.out.print("-----------------------------------");
}
}
本文给出两种实现的方式。
实现1:
import java.util.Scanner;
/*
* 《大话设计模式》中的计算器实现代码
* */
public class Operation {
public static double GetResult(double numA, double numB, String opr) {
double result = 0d;
switch (opr) {
case "+":
result = numA + numB;
break;
case "-":
result = numA - numB;
break;
case "*":
result = numA * numB;
break;
case "/":
result = numA / numB;
break;
}
return result;
}
public static void main(String[] args) {
System.out.println("请输入数字A:");
Scanner scan = new Scanner(System.in);
String strNumA = scan.nextLine();
System.out.println("请输入运算符号(+、-、*、/):");
String strOpr = scan.nextLine();
System.out.println("请输入数字B");
String strNumB = scan.nextLine();
String strResult = "";
double Result = GetResult(Double.parseDouble(strNumA), Double.parseDouble(strNumB), strOpr);
strResult = String.valueOf(Result);
System.out.println(strResult);
}
}
实现2:
import java.util.Scanner;
public class Calculator {
public static void main(String[] args) {
System.out.println("-----------------------------------");
System.out.println("请输入一个算术表达式,如:45*23");
Scanner in = new Scanner(System.in);
String str = in.nextLine();
StringBuffer buffer = new StringBuffer();
StringBuffer buffer1 = new StringBuffer();
char t = ' ';
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) == '+' || str.charAt(i) == '-'
|| str.charAt(i) == '*' || str.charAt(i) == '/') {
t = 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 (t == '+') {
sum = a + b;
}
if (t == '-') {
sum = a - b;
}
if (t == '*') {
sum = a * b;
}
if (t == '/') {
sum = a / b;
}
System.out.println("程序运算...");
System.out.println(c+t+d+"="+sum);
System.out.print("-----------------------------------");
}
}
相关文章推荐
- Android(java)学习笔记218:开发一个多界面的应用程序之人品计算器的简单实现
- 简单Java图书管理程序(只实现了界面的显示)
- java语言实现月食过程的简单小程序
- Java语言计算器界面实现
- Winform程序多语言国际化实现的简单方法
- 关于java窗口界面实现的简单流程(简易计算器)
- Java程序国际化的简单实现
- Winform程序多语言国际化实现的简单方法
- 用Java实现的简单人品测试程序
- 用RMI实现一个简单的实时聊天系统(java语言)
- Java中接口的实现与简单登陆界面的设计
- RSA算法简单实现加密、解密、签名、验证(原创Java程序)
- 在java中实现调用简单的c程序
- linux下java程序与C语言程序通过SOCKET通信的简单例子
- PL/0语言编译程序整理实现:(11)、测试界面
- 用控制台实现简单的计算器程序
- 一种简单的方法在程序中实现透明效果(JAVA)(源代码)
- 用VB6实现程序多语言界面
- AutoHotkey界面语言切换与检测升级的简单实现 [转]
- 一种简单的方法在程序中实现透明效果(JAVA)