首页 > 代码库 > 除了整数以外,还要支持真分数的四则运算

除了整数以外,还要支持真分数的四则运算

public class c30questions {    public static void main(String[] args) {        print30Questions();    }        private static void print30Questions() {        //说明:打印30道题函数,把接收到的题目字符串按照指定格式输出。        for (int i = 0; i < 10; i++) {            System.out.print( i+1 );            System.out.print("." + getQuestion() + "    ");            System.out.print( i+11 );            System.out.print("." + getQuestion() + "    ");            System.out.print( i+21 );            System.out.println("." + getQuestion());        }    }    private static String getQuestion() {        //说明:getQuestion()得到题目函数,随机生成题目,返回题目字符串。        int t = 0;        String strz = "";                    int x=1+(int)(Math.random()*100);                int y=1+(int)(Math.random()*100);            int z=1+(int)(Math.random()*100);                if( z<=25 ) {            strz = "×";            x = x % 10;            y = y % 10;//两个各位数相成        }        if( z>25 && z<=50 ) {            strz = "÷";            y = ( y % 10 ) + 1;//除数不能为0是不是        }        if( z>50 && z<=75) {            strz = "+";            if ((x+y) > 100) {                        x = x / 2;                y = y / 2;//乘法相加结果不大于100            }                }        if( z>75 ) {            strz = "-";            if( x < y ){                t = y;                y = x;                x = t;//保证减法是大数减去小数            }        }                            String strx = String.valueOf( x );        String stry = String.valueOf( y );        String ques = " " + strx + strz + stry + "=";                if(ques.length()==5)ques = ques + " ";        if(ques.length()==4)ques = ques + "  ";        if(ques.length()==3)ques = ques + "   ";//保持格式                return ques;    }//getQuestion}
追加功能:支持真分数
private static String getPfQuestion() {        //说明:getPfQuestion()得到真分数题目函数,随机生成真分数题目,返回真分数题目字符串。        int t = 0;        String strz = "";                    int x1=1+(int)(Math.random()*10);        int x2=1+(int)(Math.random()*10);//分母                int y1=1+(int)(Math.random()*10);        int y2=1+(int)(Math.random()*10);//分母                if( x2 <= x1 ){            t = x2;            x2 = x1;            x1 = t;            if( x1 == x2 ) {                x1 = x1 - 1;//保证分子比分母小            }        }                if( y2 <= y1 ){            t = y2;            y2 = y1;            y1 = t;            if( y1 == y2 ) {                y1 = y1 - 1;//保证分子比分母小            }        }                int z=1+(int)(Math.random()*100);                if( z<=25 ) {            strz = "×";        }        if( z>25 && z<=50 ) {            strz = "÷";            if( y1 == 0 )            y1 = y1 + 1;//除数的分子不能为0是不是        }        if( z>50 && z<=75) {            strz = "+";            }        if( z>75 ) {            strz = "-";            if( x1/x2 > y1/y2 ) {                                t = x1;                x1 = y1;                y1 = t;                                t = x2;                x2 = y2;                y2 = t;//保证减法是大数减去小数            }        }                            String strx1 = String.valueOf( x1 );        String strx2 = String.valueOf( x2 );        String stry1 = String.valueOf( y1 );        String stry2 = String.valueOf( y2 );        String ques = " " + strx1 + "/" + strx2 + strz + stry1 + "/" + stry2 + "=";                    return ques;    }//getPfQuestion

除了整数以外,还要支持真分数的四则运算