• 大小: 9KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-12
  • 语言: 其他
  • 标签:

资源简介

程序可接收一个输入参数n,然后随机产生n道加减乘除练习题,每个数字在 0 和 100 之间,运算符在3个到5个之间,为了让小学生得到充分锻炼,每个练习题至少要包含2种运算符。同时,由于小学生没有分数与负数的概念,你所出的练习题在运算过程中不得出现负数与非整数,比如不能出 3/5+2=2.6,2-5+10=7等算式。

资源截图

代码片段和文件信息

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;
import java.util.logging.Handler;

import javax.script.scriptEngine;
import javax.script.scriptEngineManager;
import javax.script.scriptException;
import javax.sound.sampled.spi.AudioFileReader;

/*
 * @author zhangtx
 * Time 2018.03.15
 * 
 */
public class Arithmetic {

public static void main(String[] args){

        creatArith();//产生运算式
}
//产生随机数
public static int getNumber(){  
        int number = 0;  
        Random num = new Random();  
        number = num.nextInt(100+1);  
        return number;  

//随机产生运算符号
public static char getOperator(){  
        char operator = 0;  
        Random ran = new Random();  
        int i = ran.nextInt(4);  
        switch(i){  
            case 0:  
                operator = ‘+‘;  
                break;  
            case 1:  
                operator = ‘-‘;  
                break;  
            case 2:  
                operator = ‘*‘;  
                break;  
            case 3:  
                operator = ‘/‘;  
                break;  
        }  
        return operator;  
     } 

//产生随机运算式
static scriptEngine js = new scriptEngineManager().getEngineByName(“javascript“);
public static void creatArith(){
boolean flag=true;
int num=0;
do {
System.out.print(“输入需要产生的四则运算的个数:“);
Scanner arith_num = new Scanner(System.in);
num=arith_num.nextInt();
if(num>=1) {
flag = true;
}
else {
flag=false;
System.out.println(“输入有误“);
}
}while(flag==false);
ArrayList arithList = new ArrayList();//运算式
for(int i=0;i {
//产生3~5个运算数
int num_number = 0;
Random n = new Random();
num_number = n.nextInt(3)+3;

String arr = ““;
for(int j=0;j int number = getNumber();
String operator = String.valueOf(getOperator());
arr += number + operator;
}
arr =arr.substring(0arr.length()-1);
//将arr转化为数组
char[] arr_str = arr.toCharArray();
String arrString = ““;
ArrayList arrslist1 = new ArrayList();
ArrayList arrslist2 = new ArrayList();
ArrayList arrslist = new ArrayList();
//存储运算符
for(int j=0;j if(arr_str[j]==‘+‘||arr_str[j]==‘-‘||arr_str[j]==‘*‘||arr_str[j]==‘/‘) {
arrString=String.valueOf(arr_str[j]);
arr_str[j]=‘‘;
arrslist1.add(arrString);
}
}
//存储运算数
String s = new String(arr_str);
String[] ss = s.split(““);
for(int k=0;k arrslist2.add(ss[k]);
}
//生成运算式
String[] arrs1 = arrslist1.toArray(new String[arrslist1.size()]);//运算符
String[] arrs2 = arrslist2.toArray(new String[arrslist2.size()]);//运算数

for(int m=0;m arrslist.add(arrs2[m]);//运算数
arrslist.add(arrs1[m]);//运算符
}
arrslist.add(arrs2[arrs2.length-1]);
String[] 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        295  2018-03-19 20:22  Arithmetic\.classpath

     文件        363  2018-03-19 20:22  Arithmetic\.project

     文件        587  2018-03-19 20:22  Arithmetic\.settings\org.eclipse.jdt.core.prefs

     文件       6061  2018-03-30 11:06  Arithmetic\bin\Arithmetic.class

     文件          0  2018-03-19 20:22  Arithmetic\README.md

     文件        179  2018-03-19 20:22  Arithmetic\result.txt

     文件       4595  2018-03-19 20:22  Arithmetic\src\Arithmetic.class

     文件       5057  2018-03-19 20:22  Arithmetic\src\Arithmetic.java

     目录          0  2018-03-30 11:06  Arithmetic\.settings

     目录          0  2018-03-30 11:06  Arithmetic\bin

     目录          0  2018-03-30 11:06  Arithmetic\src

     目录          0  2018-03-30 11:06  Arithmetic

----------- ---------  ---------- -----  ----

                17137                    12


评论

共有 条评论

相关资源