浆糊论坛-RO小站's Archiver

撒旦 发表于 2007-5-13 09:47

[求助]会JAVA的朋友帮帮我把

今天被同学放了鸽子.....明天下午就要交的,请会的帮帮我把,会的PM我,我再把其他文件发给各位:angry:
设计一个JAVA程序来比较另外两个JAVA文件,以行与行之间比较的方式检查相似度,并且最终打印出结果以及一个建议方案
要求
3个JAVA文件是:ProgramCompareMenu.java,  ProgramCompare.java,  AuthorisedUsers.java
(已提供此3个文件的架构和2个用于比较的文件)


The ProgramCompareMenu.class(这个文件中要作到的要求)
1.        提供一个文本样式的菜单,来供2位职工使用,职工可以做到:
登陆到系统中(就是这个程序)使用他们的用户名和PIN(4位密码)
若员工输入错误的用户名,此用户名无法与PIN相对应则此员工将不可以使用该系统.在出现用户名错误跳出系统之前职工应当还有2次机会来重新输入用户名和密码(既总共3次机会)
必须使用提供给你的2个用户名和PIN,在你的代码行中,用户名与PIN应当被保留写入,并且输出到屏幕终端来提示用户输入用户名和密码
内部文本样式的菜单要求能使用户做到
A) 输入2个被比较的文件名字(对于这个要求,这两个JAVA文件应当处于和你JAVA程序文件同一文件夹中.
B) 打印出所有相同的代码行(包括文件的名字,代码行的NUMBER
C) 打印出所有有用的信息,当执行比较两个JAVA文件时
* 名字,用户名,以及使用者所处的部门
* 比较后的统计信息(总共检查的代码行数量,相同代码行数量,不同代码行的数量)
* 对于进一步的检测的建议(如果每个JAVA文件中有超过5行相同代码,打印推荐建议给用户来进一步检测此2个文件.
* 所比较的2个文件的文件名
D) 离开菜单程序

The ProgramCompare.class中要求
提供可以读入两个文件中的每个代码行的语言(比较的两个文件应处于同一个文件夹)
A, 提供错误信息,如果文件未被找到或打开他们有问题
B, 比较每个代码行
C, 打印出相同的代码行
D, 统计相同行的数量



The AuthorisedUsers.class要求
提供一个对象,包含名字,用户名,PIN,以及授权用户的部门
提供一些语句能够:
1)        比较程序编写中所有的用户名和PIN与用户所输入的看是否相等,然后返回一个数值,显示是否相符,还是该人员未被授权,无法使用该程序
2)        返回授权用户的姓名
3)        返回授权用户所处部门的名称

loveya 发表于 2007-5-13 12:15

对整个java文件进行一次遍历,我的思路是这样的,例如:
首先读a.java文件一行,把整行放到一个数组里面(java有没有stringbulider?搞.net多了都忘了,就是那个可以任意增加长度的东西),再读b.java一行,同样放到数组里面,对两个数组进行比较,相同则记录一次;再读b.java的下一行,同样放到数组里面,对两个数组进行比较,相同则记录一次,不断如此;把b.java都读完后,a.java读下一行,然后再把b.java全部读一次,不断如此。
可能这样效率比较低,但对比起来准确性会比较高。

KEon 发表于 2007-5-13 14:43

俺初学,楼上的想法应该是对的,先建立个BufferedReader对象,读文件,然后用readline方法读取行

[[i] 本帖最后由 KEon 于 2007-5-13 14:47 编辑 [/i]]

KEon 发表于 2007-5-13 14:45

不小心二连了....

[[i] 本帖最后由 KEon 于 2007-5-13 14:47 编辑 [/i]]

撒旦 发表于 2007-5-13 15:18

额....我属于完全不会型,就米去上过几节课...

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.