每日总结:Java课堂测试第三阶段第一次优化 (2021.9.20)

package jisuan2;

import java.util.*;
public class xiaoxue {
public static void main(String[] args) {


System.out.println("请输入要出题目的数量:");
Scanner sc=new Scanner(System.in);
int number=sc.nextInt();


System.out.println("是否需要乘除法,填YES或NO:");
Scanner in=new Scanner(System.in);
String s=in.nextLine();


System.out.println("请输入算式数字范围:");
int c=sc.nextInt();


System.out.println("是否需要括号,填YES或NO");
String u=in.nextLine();


System.out.println("请输入操作数的个数:");
int z=sc.nextInt();


String y=new String("YES");
String n=new String("NO");

xuChengKuo(number,c,z);



}

public static void xuChengKuo(int number,int c,int z) //number是题目数量,c是算式范围,z是操作数
{

String[] bracket=new String[2]; //括号申请
bracket[0]="(";
bracket[1]=")";

Random random=new Random();

int[] operand=new int[number];
for(int w=0;w<number;w++)
{
operand[w]=random.nextInt(c); //每一位操作数的数值
}

for(int j=0;j<number;j++)
{


String[] symbol=new String[number];

for(int i=0;i<number;i++)
{
if(i%4==0) symbol[i]="+";
if(i%4==1) symbol[i]="-";
if(i%4==2) symbol[i]="*";
if(i%4==3) symbol[i]="/";
}


/*int[] x=new int[z-1];
for(int i=0;i<z-1;i++)
{
x[i]=i;
}*/


/*for(int a=0;a<z;a++)
{
int R=random.nextInt(number);
int r=random.nextInt(number);
if(a!=z-1)
{
System.out.print(operand[R]+symbol[r]);
}
else System.out.println(operand[R]+"=");
}*/
String[] ti=new String[3*z-1];
for(int i=1;i<3*z-1;)
{
int R=random.nextInt(number);
ti[i]=String.valueOf(operand[R]);


i=i+4;
}
for(int i=0;i<3*z-1;i++)
{
System.out.println(ti[i]);
}
}

}
}

 最终思路:将算式中括号.运算符.运算数以及等号全放进字符串数组中,对应不同的位置进行选择括号。

 

posted @ 2021-09-20 22:33  stdrush  阅读(41)  评论(0)    收藏  举报