java实现能计算10道基本运算的计算器
16lz
2021-01-22
java的Scanner类确实不如c语言中的scanf好用,不过可以调用其他的方法来实现,下面介绍一个方法:
import java.util.Scanner;
//Calcute.java 进行计算
class Calcute{
public double calcute(double n1,String s,double n2){
double m=0;
if(s.equals("+"))
m=n1+n2;
if(s.equals("-"))
m=n1-n2;
if(s.equals("*"))
m=n1*n2;
if(s.equals("/")){
if(n2==0.0){ //注意除数若和整数“0”作比较,即n2==0,那么当输入的除数为“0.0”,输出将不显示告警提示。
System.out.println("syntax error");
}
m=n1/n2;
}
return m;
}
}
//Calcuter.class
public class Calcuter{
public static void main(String[] args) {
System.out.println("Welcome to use the Calcuter!"+'\n'+"It can calcute ten equations");
Scanner in=new Scanner(System.in);
for(int i=1;i<=10;i++){
System.out.println("please input a equation"+i);
String s=in.nextLine();
//正则表达式判断输入是否合法
while(!s.matches("[0-9]*[.]?[0-9]*[-+*/][0-9]*[.]?[0-9]*")){
System.out.println("your input is not right ,please try again!");
s=in.nextLine();
}
//提取输入算式中的两个数据
String strnum[]=s.split("[-+*/]");
double num[]={Double.parseDouble(strnum[0]),Double.parseDouble(strnum[1])};
//提取运算符
String oper=s.substring(strnum[0].length(),strnum[0].length()+1);
//创建对象
Calcute call=new Calcute();
double result=call.calcute(num[0],oper,num[1]);
System.out.println(""+"equation"+i+": "+num[0]+oper+num[1]+"="+result);
}
}
}
更多相关文章
- 字体图标的引入和通过媒体查询改变导航样式
- HTML样式和常用选择器
- 字体图标的引用和自定义样式/媒体查询的使用
- 数据库的CURD操作、PDO本质与原理的学习
- CSS之伪类选择器和简单盒子简单案例
- 伪类选择器与盒模型常用属性
- 伪类选择器-结构伪类、根据位置选择匹配
- 7.4——常用标签与应用场景之表格与单元格
- css伪类选择器和盒模型