u013360850
呜呜呜啦啦啦
2018-03-24 09:13
采纳率: 33.3%
浏览 3.2k

Java实现小学生四则运算

要求如下,请问该怎么实现,卡在运算过程中不能出现负数和分数这里了
图片说明

实现了 https://blog.csdn.net/u013360850/article/details/79685769

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • qq_24452611
    Fieldsand 2018-03-24 10:51

    1.多来些判断而已, 是减法 你考虑判断一下被减数是否大于减数; 是除法, 可以考虑先随机生成两个数相乘, 然后把积当被除数.
    2.程序运行的时候 把结果是分数或负数的 忽略掉,重新生成算式.

    点赞 评论
  • dzxsk1988
    dzxsk1988 2018-03-25 07:05

    用随机数, 加计算结果判定, 然后将式子打印出来, 即可, 类似的东西比如https://github.com/iAlios/Tanuki, 它好像实现了式子计算的基础过程, 然后将其结果加以判定, 生成想要的结果即可

    点赞 评论
  • u013360850
    呜呜呜啦啦啦 2018-03-25 11:21
    点赞 评论
  • wulife
    wulife 2018-03-27 02:05

    import java.text.DecimalFormat;
    import java.util.Scanner;
    public class Zhidao {

    public static void main(String[] args) {
        String condition = "";
        Zhidao zhidao = new Zhidao();
        do{
        Scanner scanner = new Scanner(System.in);
        try{
        System.out.print("请输入第一个数:");
        double x = scanner.nextDouble();
        System.out.print("请输入第二个数:");
        double y = scanner.nextDouble();
        System.out.print("请输入运算符:");
        String s = scanner.next();
        char z = s.charAt(0);
        zhidao.yunsuan(x, y, z);
        }catch(Exception e){
            System.out.println("请输入正确的数据!");
        }
        System.out.print("是否继续?continue:继续,任意字符:结束");
        condition = scanner.next();
    
        }while("continue".equals(condition));
    }
    
    public static void yunsuan(double x,double y,Character z){
        DecimalFormat r=new DecimalFormat(); 
        r.applyPattern("#0.00");
        if(z.equals('+')){
            System.out.println(x+"+"+y+"=" + r.format((x+y)));
        } else if(z.equals('-')){
            System.out.println(x+"-"+y+"=" + r.format((x-y)));
        } else if(z.equals('*')){
            System.out.println(x+"*"+y+"=" + r.format((x*y)));
        } else if(z.equals('/')){
            if(y==0){
                System.out.println("被除数不能为0");
            } else{
                System.out.println(x+"/"+y+"=" + r.format((x/y)));
            }
    
        }else{
            System.out.println("无法识别改运算符");
        }
    }
    

    }

    点赞 评论
  • qq_24452611
    Fieldsand 2018-03-29 14:21
    /*
         * 1.获得输入参数n,每生成一个合格的算式,i++,直到i = n
         * 2.对于某个算式,随机生成m个运算符,然后按每个运算符,逐个拼接字符串
         * 3.分别写出加减乘除的方法逻辑
         * */
        string expression;
    
        int Add(int integer1, int interger2);
        //减法,传入随机生成的两个整数(或计算得的中间结果),大的当被减数,小的当减数,生成减法的式子.
        int Sub(int interger1, int interger2)
        {
            int result = 0;
    
            if (interger1 > interger2)
            {
                result = interger1 - interger2;
                expression = interger1 + " - " + interger2;
            }
            else
            {
                result = interger2 - interger1;
    
                expression = interger1 + " - " + interger2;
            }
    
            return result;
        }
        int Mul(int interger1, int interger2);
        //除法,传入两个整数,把积当被除数,其中一个当除数,另一个当商,生成除法的式子.
        int Div(int interger1, int interger2)
        {
            int num1 = interger1 * interger2;
    
            expression = num1 + "/" + interger1;
    
            return interger2;
        }
    
    
    
    点赞 评论

相关推荐