自动生成不同难度的数学试卷系统,并输出到txt文件中,命名为当前时间(java)

2021-06-20 02:04

阅读:553

标签:iter   image   equal   dir   port   rand   怎么办   png   console   

前言:

花了一整天时间修修补补写完代码,现在写篇博客,一是希望后来的人有个参考,二是记录下自己的所获方便以后查阅,三是趁众大佬还没做,混点访问量

以前做项目都是自己做,这次是真切的体会到了为别人做事多么麻烦,这次还好,提需求的客户比较专业

设置:

根号为√,如果里面是多项式用括号括起来

平方为^,因为并没有说可以更多次方

 

 输入为

技术分享图片

输出

技术分享图片

 这里有一个小歧义,需求中说的题目至少有一个三角函数到底是一道题还是一套题,从经验上看,应该是一套题

技术分享图片11:03:17

 

 注意点:

构造输出到文件的流

    file=new File("D:/java/calculate/"+un+"/"+title+".txt");
    FileOutputStream out=new FileOutputStream(file) ;
    PrintStream printToFile=new PrintStream(out);
    PrintStream printToConsole=System.out;

将各种难度的功能拆分

	public void sqrt() {
		System.out.print(sign2[0]);
	}
	public void square() {
		System.out.print(sign2[1]);
	}
	public void trigonometric() {
		int temp=random.nextInt(3);
		System.out.print(sign3[temp]);
	}

  对输出到文件的执行

	public void result(FirestProjct f,int n,String g,PrintStream printToFile,PrintStream printToConsole) throws IOException {
		System.out.println("开始输出到文件");
		System.setOut(printToFile);
		f.calculate(4,n,g);
		System.setOut(printToConsole);
		System.out.println("输出成功");
	}

 其他的就是边写边做,对照着需求来,但是弄了几个小时感觉有一些的需求又费时又学不到东西,so~我选择忽略 

 因为还有一些更重要的事情做,这种任务只能尽快做完并消化 

 以下是源代码

package zuoye;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintStream;
import java.io.UnsupportedEncodingException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;
import java.util.Scanner;

public class FirestProjct {
	public static Random random=new Random();
	private char[] sign1= {‘+‘,‘-‘,‘*‘,‘/‘};//符号
	private char[] sign2= {‘√‘,‘^‘,‘%‘};//根号,平方和,取余(可加可不加)
	private String[] sign3= {"sin","cos","tan"};//三角函数
	private static String [] grade={"小学","初中","高中"};
	int p=3;//算式符号出现的概率1/3
	
	//主方法主要负责密码验证,传入参数,递归调用
	public static void main(String [] args) throws IOException{
		Scanner scanner=new Scanner(System.in);
		String [] username= {"张三1","张三2","张三3","李四1","李四2","李四3","王五1","王五2","王五3"};//账号
		String password="123";
		String un,pwd;
		System.out.println("请输入用户名和密码");
		while(true) {//判定密码
			boolean input=false;
			un=scanner.nextLine();
			pwd=scanner.nextLine();
			for(int i=0;i3&&gra.equals("切换为")&&!(de.equals("小学")||de.equals("初中")||de.equals("高中"))) {
				System.out.println("请输入小学、初中和高中三个选项中的一个");
				command=scanner.next();
				gra=command.substring(0,3);
				de=command.substring(3,5);
			}
			if(command=="继续输入")work(un,pwd,g) ;
			else {
				for(int i=0;i30) {
			return false;
		}
		return true;
	}
		
	public void calculate(int si,int n,String g) {//计算过程 si表示sign1用到的符号个数,n表示数字个数
		System.out.println(g+"试卷");
		boolean [] cou= {false,false,false};//用以判定直到最后是否出现了根号,三角函数,如果没有,就让最后一个数带上
		for(int i=0;i

  

 

自动生成不同难度的数学试卷系统,并输出到txt文件中,命名为当前时间(java)

标签:iter   image   equal   dir   port   rand   怎么办   png   console   

原文地址:https://www.cnblogs.com/chen-song/p/9689672.html

上一篇:Python元类编程

下一篇:java 编解码


评论


亲,登录后才可以留言!