A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© luck_start 中级黑马   /  2015-9-28 23:55  /  258 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.util.Scanner;
class CalculateDemo {
static{System.out.println("支持+-*/的整数运算,除数不能为0;请输入一个数A,运算符,一个数B,比如:1+3");}
public static void main(String[] args) {
  Calculate cl=new Calculate();
  cl.check();
  cl.calculate();
}
}
//粗制计算器
class Calculate{
String s="";
int operater=0;
int index=0;

//创建check方法,判断输入的算数运算符,只能输入+,-,*,/
void check(){
  Scanner sc=new Scanner(System.in);
  s=sc.next();
  if(s.contains("*")){
   operater=1;
   index=s.indexOf("*");
  }else
  if(s.contains("/")){
   operater=2;
   index=s.indexOf("/",0);
  }else
  if(s.contains("+")){
   operater=3;
   index=s.indexOf("+");
  }else
  if(s.contains("-")){
   operater=4;
   index=s.indexOf("-",1);
  }
}
//创建计算方法,将输入的字符串分成2个整数,并用计算出结果显示
void calculate(){
  String a=s.substring(0,index);
  String b=s.substring(index+1);
  int num1=0;
  int num2=0;
  
  //try方法用于处理用户输出的异常数据
  try{
   num1=Integer.parseInt(a);
   num2=Integer.parseInt(b);
   switch(operater){
    case 1:System.out.println(num1*num2);
    break;
    case 2:System.out.println(num1/num2);
    break;
    case 3:System.out.println(num1+num2);
    break;
    case 4:System.out.println(num1-num2);
    break;
    default:System.out.println("SORRY!您输入的运算符有误");
    check();
    calculate();
   }
  }
  catch(Exception e){
   System.out.println("SORRY!您的输入有误,请再输入一遍");
   check();
   calculate();
  }
}
}

1 个回复

倒序浏览
今天考试了,瞬间怀疑人生了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马