Java实现小学生四则运算

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

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

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

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

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("无法识别改运算符");
    }
}

}

/*
     * 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;
    }