黑马程序员技术交流社区

标题: 编的小代码 [打印本页]

作者: luck_start    时间: 2015-9-28 23:55
标题: 编的小代码
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();
  }
}
}

作者: luck_start    时间: 2015-9-28 23:57
今天考试了,瞬间怀疑人生了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2