首页 > 其他分享 >每日总结-23.11.1

每日总结-23.11.1

时间:2023-11-02 09:22:39浏览次数:27  
标签:总结 23.11 arr int 每日 System XiangJia str out

软件构造作业

生成算式存入csv

package kousuanti;

import java.util.Scanner;

public class Gongneng {
    public static void main(String[] args) {
        Scanner scan=new Scanner(System.in);
        Chuti chuti = new Chuti();
        System.out.println("请确定生成几道题:");
        int n1=scan.nextInt();
        chuti.setShuLiang(n1);
        System.out.println("请确定几个数相计算:");
        int n2=scan.nextInt();
        chuti.setXiangJia(n2);
        System.out.println("请确定数值范围(输入最大值):");
        int n3=scan.nextInt();
        chuti.setFanWei(n3);
        System.out.println("请确定是否有乘除法(1为是,0为否):");
        int n4=scan.nextInt();
        if(n4==1)
            chuti.setChengChu(true);
        else chuti.setChengChu(false);
        System.out.println("是否保存此套题(1为是,0为否):");
        int n5=scan.nextInt();
        if(n5==1) {
            chuti.Show();
            SaveCsv saveCsv = new SaveCsv();
            saveCsv.save(chuti.ChangeToSave());
        }
        else chuti.Show();
    }
}
package kousuanti;

import java.util.Random;

public class Chuti {


    private int ShuLiang=50;//出题数量
    private int HuangHang=5;//几题换行
    private int XiangJia=3;//几个数相加
    private int FanWei=100;//出题范围
    private boolean isChengChu=false;//是否有乘除法
    private int[][] JiLu;//出题记录
    private int i_JiLi=0;

    private void ShengCheng() {
        JiLu=new int[ShuLiang][XiangJia*2-1];
        int is;
        if(isChengChu)
            is = 4;
        else is = 2;
        for (int i = 0; i < ShuLiang; i++) {
            int arr[]=MyRandom(XiangJia*2-1,FanWei);
            for (int j = 0; j < XiangJia-1; j++) {
                arr[j*2+1]=arr[j*2+1]%is;
            }
            if(isNotRepeat(arr)) {
                if(XiangJia==2) {
                    if(isFuHeYaoQiu(arr)){
                        JiLu[i_JiLi] = arr;
                        i_JiLi++;
                    }else i--;
                }else {
                    JiLu[i_JiLi] = arr;
                    i_JiLi++;
                }
            }
            else i--;
        }
    }
    public void Show() {
        ShengCheng();
        for (int i = 0; i < ShuLiang; i++) {
            if(i%HuangHang==0&&i!=0)
                System.out.println();
            for (int j = 0; j < XiangJia-1; j++) {
                System.out.print(JiLu[i][j*2]);
                switch(JiLu[i][j*2+1]) {
                    case 0:System.out.print("+");break;
                    case 1:System.out.print("-");break;
                    case 2:System.out.print("*");break;
                    case 3:System.out.print("/");break;
                }
            }
            System.out.print(JiLu[i][XiangJia*2-2]+"=   ");
        }
    }
    public String[] ChangeToSave(){
        String[] strings = new String[ShuLiang];
        int t=0;
        for (int i = 0; i < ShuLiang; i++) {
            String str = "";
            for (int j = 0; j < XiangJia-1; j++) {
                str = str + JiLu[i][j*2];
                switch(JiLu[i][j*2+1]) {
                    case 0:str = str + "+";break;
                    case 1:str = str + "+";break;
                    case 2:str = str + "*";break;
                    case 3:str = str + "/";break;
                }
            }
            str = str + JiLu[i][XiangJia*2-2]+"=";
            strings[t]=str;
            t++;
        }
        return strings;
    }

    private boolean isNotRepeat(int arr[]) {
        if(i_JiLi==0)
            return true;
        int m=i_JiLi;
        int n=XiangJia*2-1;
        for(int j=0;j<m;j++)
            for(int i=0;i<n;i++)
                if(JiLu[j][i]!=arr[i])
                    return true;
        return false;
    }
    private boolean isFuHeYaoQiu(int arr[]){
        if(arr[1]==0){
            if(arr[0]+arr[2]>FanWei)
                return false;
            else return true;
        } else {
            if(arr[0]-arr[2]<0)
                return false;
            else return true;
        }
    }

    //随机,num数量,max范围
    private int[] MyRandom(int num,int max) {
        Random r = new Random();
        int arr[]=new int[num];
        for(int i=0;i<num;i++)
            arr[i]=r.nextInt(max);
        return arr;
    }

    public int getShuLiang() {
        return ShuLiang;
    }

    public void setShuLiang(int shuLiang) {
        ShuLiang = shuLiang;
    }

    public int getHuangHang() {
        return HuangHang;
    }

    public void setHuangHang(int huangHang) {
        HuangHang = huangHang;
    }

    public int getXiangJia() {
        return XiangJia;
    }

    public void setXiangJia(int xiangJia) {
        XiangJia = xiangJia;
    }

    public int getFanWei() {
        return FanWei;
    }

    public void setFanWei(int fanWei) {
        FanWei = fanWei;
    }

    public boolean isChengChu() {
        return isChengChu;
    }

    public void setChengChu(boolean chengChu) {
        isChengChu = chengChu;
    }

    public int[][] getJiLu() {
        return JiLu;
    }

    public void setJiLu(int[][] jiLu) {
        JiLu = jiLu;
    }

}
package kousuanti;

import java.io.*;

public class SaveCsv {

    public void save(String strings[]){
        String filePath="D:\\Idea\\CSV\\";
        File file = new File(filePath + "KouSuanTi_01.csv");
        try {
            //如果存在,则删除,新建文件
            if (file.exists()) {
                file.delete();
            }
            file.createNewFile();
        } catch (IOException e) {
            e.printStackTrace();
        }
        FileOutputStream out=null;
        OutputStreamWriter osw=null;
        BufferedWriter bw=null;
        try {
            out = new FileOutputStream(file);
            osw = new OutputStreamWriter(out,"UTF-8");
            bw =new BufferedWriter(osw);

            //写入数据
            for(int i=0;i< strings.length;i++) {
                bw.append(strings[i]);
                bw.append("\r");
            }

        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            try {
                if(bw!=null)
                    bw.close();
                bw=null;
                if(osw!=null)
                    osw.close();
                osw=null;
                if(out!=null)
                    out.close();
                out=null;
            } catch (IOException e) {
                e.printStackTrace();
            }

        }
    }
}

 

标签:总结,23.11,arr,int,每日,System,XiangJia,str,out
From: https://www.cnblogs.com/laobing6214/p/17804662.html

相关文章

  • 每日总结
    今天我完成了一道软件设计的实验题,运用c++实现一些功能; (1)对应的类图:(2)源代码;1.浅克隆运行代码:#include<iostream>usingnamespacestd;//向量类classVector{private:int*p;intlen;public:Vector(intlen);Vector(constVector&vector);......
  • 每日总结Java设计模式之原型模式
    今天完成了设计模式的原型模式实验用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式其实就是从一个对象再创建另外一个可定制的对象,而且不需知道任何创建的细节简单说就是先创建一个原型类实例,然后通过克隆的方法来复制一个一样的新对象,这个对象和原来......
  • 每日总结11.02
    学号的单一仿照课堂的身份证的例子,实现每个同学仅有一个学号这一问题。  Client:package实验7;publicclassClient{    publicstaticvoidmain(Stringa[]){        StudentIDstu1,stu2;        Stringid1,id2;        System.out.pr......
  • 每日总结Java设计模式之单例模式
    今天做了单例模式的实验代码在有些系统中,为了节省内存资源、保证数据内容的一致性,对某些类要求只能创建一个实例,这就是所谓的单例模式。单例模式有3个特点:单例类只有一个实例对象;该单例对象必须由单例类自行创建;单例类对外提供一个访问该单例的全局访问点;1.单例模式的......
  • 每日博客
    流计算&FlinkFlink的优势包括高度灵活的流式窗口,同时支持高吞吐,低延迟,高性能,支持有状态计算。典型的时间的事件驱动型应用有:反诈骗,基于规则的报警,业务流程监控,异常检测。流计算的处理流程包括:数据是实时计算,数据实时采集,实时查询服务。流数据的特征:注重数据的整体价值,不过分关......
  • 【杂记】路在何方2023.11.1
    精神状态未知,今天考完了人机对话,期中考试将在一周后进行​。这几天进行了多科模拟考试,分数平平无奇,而今晚的物理成为击倒我的最后一枪​,轻舟已撞大冰山TAT​分析:物理的计算是我的强项,但是选择题错的太多,​主要弱点是分析电路故障,​以及对概念的理解不清。回想过去的两个月,我浪费......
  • 每日总结22
    SpringBoot的配置文件4.1SpringBoot配置文件类型4.1.1SpringBoot配置文件类型和作用SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用application.properties或者application.yml(application.yaml)进行配置。SpringBoot默认会从R......
  • 每日总结
    1、Hive安装第一步:打开SecureCRT8.3软件,在node-01上进入/export/software/目录,指令如下:cd/export/software/1第二步:使用指令rz进行安装包上传,选择安装包apache-hive-1.2.1-bin.tar.gz。apache-hive-1.2.1-bin.tar.gz第三步:上传完毕后将该安装包解压到/export/servers/目录,使......
  • 2023年11月第一周学习总结
    排序归并排序本质是将多个序列进行合并,和快排一样也用的是分而治之的思想,并且它也是基于比较里面较快的算法且能保持稳定性的算法。那么怎么将两个序列合并呢?(假设左右两边已经有序)开辟一个和数组一样大的辅助数组,再设定两个指针,第一个指针指向第一个序列的开头,第二个指针......
  • 每日总结20231101
    代码时间(包括上课)6h代码量(行):100行博客数量(篇):1篇相关事项:1、今天是周三,上的是软件构造,软件构造讲的是对于csv文件的读写操作。2、今天下午开会然后上班,把erp的作业也完成了,需要加速看软考了。3、今天还打算看看软件设计师相关的题目,我要过!......