1.功能较多必须有菜单选择项,将一个大程序分为若干个功能模块的小程序,逐个实现
2.针对题目避免重复时先将已生成的算式保存,然后将下一条生成的式子进行判断是否已生成,如果生成则返回循环语句的上一条,重新生成四则运算式子。
3.针对可以控制参数,相对菜单,每个菜单功能对应一个控制参数,每个参数功能对应一个函数通过switch语句判断。
4.针对是否有乘除法、通过用户选择,来确定,实现是通过定义运算符号定义顺,以此有针对性地进行算法分析实现
package com.minirisoft;
import java.util.*;
public class Sizeyunsuan {
public static void main(String[] args){
Scanner input=new Scanner(System.in);
System.out.println("请输入要输出多少道运算题");
int h=input.nextInt();
String [] arr1=new String[h];
System.out.println("请输入你要计算数的最大值");
int g=input.nextInt();
System.out.println("**************菜单选择程序****************");
System.out.println("请选择要使用的功能:");
System.out.println("1. 整数加减法运算!");
System.out.println("2. 整数四则运算!");
System.out.println("3. 分数的加减运算");
System.out.println("4. 分数的四则运算");
System.out.println(" *********************************************");
Random random = new Random();
char arr[] = {'+','-','*','/'};
int a=input.nextInt();
switch(a){
case 1:
{
请选择减法是否有负数;0:无负数,1:有负数");
int f=input.nextInt();
int i;
switch(f)
{
case 0:
{
for(i=0;i<h;i++)
{
String str=random.nextInt(g)+" "+arr[random.nextInt(2)]+" "+random.nextInt(g)+"=";
System.out.println(str);
}
break;
}
case 1:
{
for(i=0;i<h;i++)
{
System.out.println(-random.nextInt()%g+" "+arr[random.nextInt(2)]+" "+(-random.nextInt())%g+"=");
}
break;
}
default:
输入的数有误,请输入0或1");
}
break;
}case 2:{
System.out.println("**************四则运算菜单选择程序****************");
System.out.println("请选择要使用的功能:");
System.out.println("1. 正整数无余数四则运算!");
System.out.println("2. 可负整数无余数四则运算!");
System.out.println("3. 正整数可有余数四则运算");
System.out.println("4. 可负整数可有余数四则运算");
System.out.println(" *********************************************");
int f=input.nextInt();
switch(f)
{
case 1:
{
for(int i=0;i<h;i++)
{
int u=random.nextInt(g);
int v=random.nextInt(g)+1;
char w=arr[random.nextInt(4)];
if(u%v==0 && w=='/'){
System.out.println(u+" "+w+" "+v+"=");
}
else
System.out.println(u+" "+arr[random.nextInt(3)]+" "+v+"=");
}
break;
}
case 2:
{
for(int i=0;i<h;i++)
{
int u=-random.nextInt()%g;
int v=-random.nextInt()%g;
char w=arr[random.nextInt(4)];
if(v!=0 && u%v==0 && w=='/' )
System.out.println(u+" "+w+" "+v+"=");
else
System.out.println(u+" "+arr[random.nextInt(3)]+" "+v+"=");
}
break;
}
case 3:
{
for(int i=0;i<h;i++)
{
int u=random.nextInt(g);
int v=random.nextInt(g)+1;
char w=arr[random.nextInt(4)];
System.out.println(u+" "+w+" "+v+"=");
}
break;
}
case 4:
{
for(int i=0;i<h;i++)
{
int u=-random.nextInt()%g;
int v=-random.nextInt()%g;
char w=arr[random.nextInt(4)];
System.out.println(u+" "+w+" "+v+"=");
}
break;
}
default:
输入的数有误,请输入1--4的整数");
}
}
case 3:
{
System.out.println("请选择减法是否有负数;0:无负数,1:有负数");
int f=input.nextInt();
switch(f)
{
case 0:
{
for(int i=0;i<h;i++)
{
System.out.println(random.nextInt(g)+"/"+random.nextInt(g)+1+" "+arr[random.nextInt(2)]+" "+random.nextInt(g)+"/"+random.nextInt(g)+1+"=");
}
break;
}
case 1:
{
for(int i=0;i<h;i++)
{
System.out.println(-random.nextInt()%g+"/"+random.nextInt(g)+1+" "+arr[random.nextInt(2)]+" "+-random.nextInt()%g+"/"+random.nextInt(g)+1+"=");
}
break;
}
default:
输入的数有误,请输入0或1");
}
break;
}
case 4:
{
System.out.println("**************四则运算菜单选择程序****************");
System.out.println("请选择要使用的功能:");
System.out.println("1. 正分数四则运算!");
System.out.println("2. 可负分数四则运算!");
System.out.println(" *********************************************");
int f=input.nextInt();
switch(f)
{
case 1:
{
for(int i=0;i<h;i++)
{
int u=random.nextInt(g);
int v=random.nextInt(g)+1;
int x=random.nextInt(g);
int y=random.nextInt(g)+1;
char w=arr[random.nextInt(4)];
System.out.println(u+"/"+v+" "+w+" "+x+"/"+y+"=");
}
break;
}
case 2:
{
for(int i=0;i<h;i++)
{
int u=-random.nextInt()%g;
int v=-random.nextInt()%g;
int x=-random.nextInt()%g;
int y=-random.nextInt()%g;
char w=arr[random.nextInt(4)];
if(v!=0 && w=='/' )
System.out.println(u+"/"+v+" "+w+" "+x+"/"+y+"=");
else
System.out.println(u+"/"+v+" "+arr[random.nextInt(3)]+" "+x+"/"+y+"=");
}
break;
}
default:
输入的数有误,请输入1或2");
}
break;
}
default:
输入的数有误,请输入1--4的整数");
}
}



















