简易四则运算小程序二

Posted on 2017-03-12 22:21  立木-Six  阅读(228)  评论(0编辑  收藏  举报

改进四则运算程序

import java.util.*;
public class Yunsuan {
    //随机数字
    public static int suiji_num(){
        return new Random().nextInt(100)+1;
    }
    //随机运算符
    public static String suiji_char(){
        if(suiji_num()%4==1){
            return "+";
        }
        else if(suiji_num()%4==2){
            return "-";
        }
        else if(suiji_num()%4==3){
            return "*";
        }
        else {
            return "/";
        }
    }
    //随机括号
    public static String kh(){
        if(suiji_num()%2==1){
            return "(";
        }
        else{
            return  "";
        }
    }
    //求结果,输出String
    public static String jisuan(int x,int y,String str){
        if(str=="/"){
            if(x==0){
                return "0";
            }
            else if(y/gys(x,y)==1){
                return String.valueOf(x/gys(x,y));
            }
            else{
                return String.valueOf(x/gys(x,y))+"/"+String.valueOf(y/gys(x,y));
            }
        }
        else if(str=="+"){
            return String.valueOf(x+y);
        }
        else if(str=="-"){
            return String.valueOf(x-y);
        }
        else {
            return String.valueOf(x*y);
        }        
    }
    //随机运算式,并输出结果
    public static void suiji(){
        int x=suiji_num();
        int y=suiji_num();
        String str=suiji_char();
        System.out.println(x+str+y+"="+"\n"+"正确结果:"+jisuan(x,y,str));
    }
    //求最大公约数
    public static int gys(int x,int y){
        int n=1;
        if(x>=y){
            for(int i=1;i<=y;i++){
                if(y%i==0&&x%i==0){
                    n=i;
                }
            }
            return n;
        }
        else{
            for(int i=1;i<=x;i++){
                if(y%i==0&&x%i==0){
                    n=i;
                }
            }
            return n;
        }
        
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int n;
        Scanner in=new Scanner(System.in);
        System.out.println("需要多少道题?");
        n=in.nextInt();
        for(int i=0;i<n;i++){
            suiji();
        }    
    }

}

主要是随机数的运用,但是关于括号没有做出来。

实验截图: