四则运算二

一、设计思想

用if语句和for循环贯彻整个程序。用while语句来进行一定的限制

二、源程序代码

import java.util.Scanner;
import javax.swing.JOptionPane;
public class size {
public static void main(String[] args) { // TODO 自动生成的方法存根 Scanner in=new Scanner(System.in); System.out.println("请选择进行整数或真分数的运算(整数运算请输入1,真分数运算请输入0)"); int choice=in.nextInt();
System.out.println(
"请输入要做的题目数量"); int dingzhi=in.nextInt();
System.out.println(
"请选择是否有乘除法(有请输入1,没有请输入0)"); int chengchu =in.nextInt();
System.out.println(
"请选择除法有无余数(有请输入1,没有请输入0)"); int yushu=in.nextInt(); System.out.println("请输入数值范围"); int n=in.nextInt(); if(choice==1) { for(int i=0;i<dingzhi;i++)
{
int a,b,x,y; a=(int)(Math.random()*n); //生成一个随机数 b=(int)(Math.random()*n); //生成一个随机数 y=(int)(Math.random()*n); //生成一个随机数
x=y%4; if(x==0) { System.out.println(a+"+"+b+"=");
}
else if(x==1) { System.out.println(a+"-"+b+"="); } else if(x==2) { if(chengchu==1) { System.out.println(a+"*"+b+"="); } else if(chengchu==0) { System.out.println(a+"+"+b+"=");
} }
else if(x==3)
{
if(chengchu==1) { if(yushu==1) { int a1=0; int b1=0; while(b1-a1<0||b1==0) { a1=(int)(Math.random()*n); //生成一个随机数 b1=(int)(Math.random()*n); //生成一个随机数 }
a
=a1;b=b1; System.out.println(a+"/"+b+"="); } else if(yushu==0) {
int a1=0; int b1=0; while(b1-a1<0||b1==0||b1%a1!=0) { a1=(int)(Math.random()*n); //生成一个随机数 b1=(int)(Math.random()*n); //生成一个随机数 } a=a1;b=b1; System.out.println(a+"/"+b+"=");
} }
else if(chengchu==0) { System.out.println(a+"-"+b+"="); } } }
}
else if(choice==0) { for(int i=0;i<dingzhi;i++) {
int a,b,c,d,a1,b1,c1,d1; a1=0; b1=0; c1=0; d1=0; while(b1==0||d1==0||b1-a1<0||d1-c1<0) { a1=(int)(Math.random()*n); //生成一个随机数 c1=(int)(Math.random()*n); //生成一个随机数 b1=(int)(Math.random()*n); //生成一个随机数
                        d1=(int)(Math.random()*n); //生成一个随机数
                    }
                    int a0=a1,b0=b1,c0=c1,d0=d1;
                    while(a1!=0)
{
int yush=b1%a1; b1=a1; a1=yush; } a=a0/b1; b=b0/b1; while(c1!=0) { int yush=d1%c1; d1=c1; c1=yush; } c=c0/d1;
d
=d0/d1; int y=(int)(Math.random()*10000); //生成一个随机数 int x=y%4; if(x==0) { if(a==0&&c==0)
{ System.out.println(
"0"+" + "+"0"+" = "); } else if(a==0) {
System.out.println(
"0"+" + "+"( "+c+"/"+d+" )"+" = "); } else if(c==0) { System.out.println("( "+a+"/"+b+" )"+" + "+"0"+" = "); } else { System.out.println("( "+a+"/"+b+" )"+" + "+"( "+c+"/"+d+" )"+" = ");
                    }
                    }
                else if(x==1)
                {
                    if(a==0&&c==0)
                    {
                        System.out.println("0"+" - "+"0"+" = ");
                    }
                    else if(a==0)
                    {
                        System.out.println("0"+" - "+"( "+c+"/"+d+" )"+" = ");
                    }
                    else if(c==0)
                    {
                        System.out.println("( "+a+"/"+b+" )"+" - "+"0"+" = ");
                    }
                    else
                    {
                        System.out.println("( "+a+"/"+b+" )"+" - "+"( "+c+"/"+d+" )"+" = ");
                    }
}
else if(x==2) { if(chengchu==2) { if(a==0&&c==1) { System.out.println("0"+" * "+"0"+" = "); } else if(a==0) { System.out.println("0"+" * "+"( "+c+"/"+d+" )"+" = "); } else if(c==0) { System.out.println("( "+a+"/"+b+" )"+" * "+"0"+" = "); } else { System.out.println("( "+a+"/"+b+" )"+" * "+"( "+c+"/"+d+" )"+" = "); } } else if(chengchu==0) {
if(a==0&&c==0) { System.out.println("0"+" - "+"0"+" = "); } else if(a==0) { System.out.println("0"+" - "+"( "+c+"/"+d+" )"+" = "); } else if(c==0) {
System.out.println(
"( "+a+"/"+b+" )"+" - "+"0"+" = "); } else { System.out.println("( "+a+"/"+b+" )"+" - "+"( "+c+"/"+d+" )"+" = "); } } } else if(x==3) { if(chengchu==1)
{
if(yushu==1) { if(a==0&&c==0) { System.out.println("0"+" / "+"0"+" = "); } else if(a==0) { System.out.println("0"+" / "+"( "+c+"/"+d+" )"+" = "); } else if(c==0) { System.out.println("( "+a+"/"+b+" )"+" / "+"0"+" = "); } else
{ System.out.println("( "+a+"/"+b+" )"+" / "+"( "+c+"/"+d+" )"+" = "); } } } else if(chengchu==0) { if(a==0&&c==0) { System.out.println("0"+" + "+"0"+" = "); } else if(a==0) { System.out.println("0"+" + "+"( "+c+"/"+d+" )"+" = "); }
else if(c==0) { System.out.println("( "+a+"/"+b+" )"+" + "+"0"+" = "); } else { System.out.println("( "+a+"/"+b+" )"+" + "+"( "+c+"/"+d+" )"+" = "); } } }
} } }
}

三、程序结果截图

四、缺陷

1:没有避免题目可重复

2:真分数的除法有无余数没有实现

 

posted on 2016-03-19 19:11  圣龙阿布  阅读(202)  评论(0编辑  收藏  举报