账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Java后面的代码比前面的代码先执行怎么办
    61
    0

    我要用Java写一个能记录文件个数、字符总个数、注释个数、注释总字符数和关键字数的程序。我想先把文件转换成字符串存入arraylist list中,再通过类AnalysisNoteNumber把文件中的注释和输出语句去掉,然后返回list(可是我输出传入AnalysisNoteNumber的list,竟然是不完整的文件)。然后再把这个新list传给类AnalysisKeyNumber,来计算关键字个数。可是传给AnalysisKeyNumber的list竟然是完整的文件(就是又有注释又有输出语句),请问要怎么解决

    public AnalysisFileNumber(File directory) throws Exception{
            this.directory = directory;
            //this.detail = new StringBuffer();
            list=new ArrayList<String>();
            this.parse(directory, 1);
        }
    
    private void parse(File dir, int n) throws Exception{
            File[] files = dir.listFiles();
            for (File file : files) {
                if (file.isDirectory()) {
                    parse(file, n + 1); // 递归
                }else {
                    if (file.getName().toLowerCase().endsWith(".java")) {
                        this.numberOfJavaSourceFiles++;//文件数
                    try {    
                        //将文件收录到字符串中,并记录该文件字符数
                        InputStreamReader isr =  new InputStreamReader(new FileInputStream(file));
                         BufferedReader br = new BufferedReader(isr);
                         list.clear();//在收录文件前先清空list
                             String s = br.readLine();
                             while(s!=null) {
                               countChar = countChar+s.length()+1;//字符个数就是字符长度
    
                               list.add(s);//list存的是单个文件
                                s = br.readLine();
                             }
                             br.close();
                             
                        
                        AnalysisNoteNumber ann =new AnalysisNoteNumber(list);
                        
                        this.noteNumber+=ann.getCountNote();//获取注释数
                        this.charInNoteNumber+=ann.getCharInNote();//获取注释中的字符数
                        this.list.clear();
                        this.list.addAll(ann.getList());//此时的list是文件中除注释和输出语句外的部分
                        
                        //查找list中的关键字
                        AnalysisKeyNumber akn=new AnalysisKeyNumber(list);
                    } catch (InterruptedException e) {  
                        e.printStackTrace();  
                    }  
                    }
                }    
            }
        }
    2
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 抑郁阿隆 普通会员 1楼
      502 Bad Gateway

      502 Bad Gateway


      nginx
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部