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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© luck_start 中级黑马   /  2015-9-30 00:36  /  434 人查看  /  6 人回复  /   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();
                }
        }
}

6 个回复

倒序浏览
老师布置的小作业,分享下
回复 使用道具 举报
老师布置的小作业,分享下
回复 使用道具 举报
谢谢分享!
回复 使用道具 举报
赵存金 来自手机 中级黑马 2015-10-3 12:16:58
报纸
可以,学习了
回复 使用道具 举报
看不懂 学学
回复 使用道具 举报
厉害厉害
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马