一个可以提示出谁没有交青年大学习截图的JAVA程序

201 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。


该文章是我大二刚开始时在别的博客网站发的文章,因为中间时间比较长而且中间我几乎没有再过多接触java,所以我也不能对其功能进行细致剖析,当时在代码中留下了少量的注释,但是代码略有瑕疵,见谅:(


大一时与一个室友一起摸爬滚打里写出来的第一个有实际用处(实际上很鸡肋)的小功能(大概?),目的是快速比对出一个班里谁没有提交文件,前提是命名为学生编号。还没有修完所有bug就被取消使用了,于是发出来给想要参考或者完善的人吧~

楼主现在大二已经弃坑JAVA开始学前端了,感觉这个更让人有动力学习。趁着各种条件允许下做自己想做的事情吧~

用法

图片的名字应以1 2 3 4 5...格式命名,并统一存放于一个文件夹内,因此介于该前提,如果人数过少的话可以直接用电脑自带的文件排序

直接运行,填入目标文件夹的位置,程序将自动提取出文件名并去掉后缀,最后和已经提前创建好的标准表比对,输出缺少的文件名。代码中已经标注出哪里是在创建文件名。代码里对文件名的处理功能中已经去掉了文件后缀

已知bug: 运行后点击取消会报错并产生一个错误报告文件

import javax.swing.*;
import java.util.ArrayList;
import java.util.List;
import java.io.File;
 
public class TheWindow {
    public static void main(String[] args) {//=========================main========================
        Contrast();
        System.exit(0);
    }
 
    public static String[] getFileName(String path) {
        File file = new File(path);
        String[] fileName = file.list();
        return fileName;
    }
 
    public static String Window (){
        String fileName;
        fileName = JOptionPane.showInputDialog("文件夹所在地");
 
        return fileName;
    }
 
 
    public static void Contrast (){
 
 
        List<String> studentNum = new ArrayList<>();
        List reStudentNum = new ArrayList();
 
        String a;
        for (int i = 1; i <= 56; i++) {    //其中56是全班人数
            a = String.valueOf(i);
            studentNum.add(a);//创建标准表
        }
 
        String[] fileName = getFileName(Window());//获得文件名
 
        List<String> fileNameNoExResult = new ArrayList<>();
 
 
        for (int i = 0; i < fileName.length; i++) {//将全部fileName去掉后缀,并加入到fileNameNoExResult
            int dot = fileName[i].lastIndexOf('.');
            if ((dot >-1) && (dot < (fileName[i].length()))) {
                fileNameNoExResult.add(fileName[i].substring(0,dot));
            }
        }
        for (int i = 0; i <56; i++) {//进行比较
            if (fileNameNoExResult.contains(studentNum.get(i)) == false){//如果studentNum的第[i]个与标准表不符,则false
                reStudentNum.add(studentNum.get(i));
            }else {
                //reStudentNum.add(i+1);//最终结果加入i
            }
        }
 
        JOptionPane.showMessageDialog(null,"缺少:"+ reStudentNum+"号","最后结果",JOptionPane.INFORMATION_MESSAGE);
 
    }
 
}