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);
}
}
}

更多相关文章

  1. 字体图标的引入和通过媒体查询改变导航样式
  2. HTML样式和常用选择器
  3. 字体图标的引用和自定义样式/媒体查询的使用
  4. 数据库的CURD操作、PDO本质与原理的学习
  5. CSS之伪类选择器和简单盒子简单案例
  6. 伪类选择器与盒模型常用属性
  7. 伪类选择器-结构伪类、根据位置选择匹配
  8. 7.4——常用标签与应用场景之表格与单元格
  9. css伪类选择器和盒模型

随机推荐

  1. android 可滑动的DatePicker和点击的Date
  2. Android Studio报错Could not GET 'https
  3. linearLayout 和 relativeLayout的属性区
  4. 【android】android使用命令模拟按键
  5. Android UI控件学习笔记(二)
  6. 添加 C/C++ 代码
  7. android中系统自带样式
  8. Android(安卓)开发学习资料
  9. Android 实例子源代码文件下载地址380个
  10. Android基本控件常用属性及方法