您的位置:首页 > 编程语言 > Java开发

java实现能计算10道基本运算的计算器

2013-07-31 19:37 429 查看
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);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: