电子信息工程2018级
面象信息系统开发期末检测(堂测试)试卷A
满分100分 考试时间:150分钟 课教师:高莲
学院:__信息学院__ 专业:__电子信息工程__ 学号:_20181060261_ 姓名:_李康周五班33号_
题号
1
2
3
4
总分
分
2019年春季学期面象信息系统开发期末检测题
编写Java应程序员工信息进行理功实现详述:
1 请先通Java代码创建文件Employ表格形式存储雇员相关信息雇员类相关属性说明:
列名 数类型
Employ_Id int (该列员工编号重复)
Employ_Name varchar
Employ_Address varchar
Employ_Salary float
Employ_Phone varchar
Employ_Department varchar (市场部财务部事部研发部生产车间)
2 通Java代码Employ文件中写入初始数:
1 王五 山东 4500 13798987654 理部
2 安心 贵州 1200 13799999654 生产车间
3 杨燕 四川 6300 13124569874 研发部
3创建菜单选项
1添加记录
2修改记录
3删记录
4搜索记录
5退出
4选定相关菜单提示户进行相关操作
1)添加记录
提示户输入相关数检测输入数效性否文件中数重复操作数结果显示户进行查
2)修改记录
提示户输入修改记录员工Employ_Id查找该户否存存提醒户该雇员信息存存话提示户输入新Employ_Salary(数列暂时允许修改)
3)删记录
提示户输入删记录员工Employ_Id查找该户否存存提醒户该雇员信息存存话该行数删
4)搜索记录
提示户输入删记录员工Employ_Name雇员存搜索信息显示出该雇员存提示雇员存
5)退出
运行Systemexit(0)退出程序
数效性说明:
A Employ_Name字符超10
B Employ_Salary员工工资应该低工资(800)
C Employ_Phone员工电话号码应该数字总长度11
D Employ_Department取值市场部财务部事部研发部生产车间中
实现思路:
二源代码:
public class abnormal {public static boolean panduanId(String Id){判断Id否效方法
boolean flagtrue
fileOperation tempnew fileOperation(d\\2txt)
StringBuffer buffer1tempreadFile()
int result1buffer1indexOf(Id+ 0)判断员工否存确定员工号手机号薪水if(result1>1)判断获位置果1加强判断条件
result1buffer1indexOf(+Id+ 0)
if(result11)存重复
flagfalse
return flag }
public static boolean panduanname(String name){判断姓名否效方法
String name1name
boolean flagfalse
Pattern pPatterncompile(*\\d+*)
Matcher mpmatcher(name1)
if(mmatches())
flagtrue
return flag}
public static boolean panduandepartment(String department){判断部门否效方法
boolean flagfalse
if(departmentequals(市场部)||事部equals(department)||研发部equals(department)||生产车间equals(department)||财务部equals(department))
flagtrue
return flag}}
public class employDo extends javaxswingJFrame {
String newId
public employDo() {
initComponents() }
private void addcancelActionPerformed(javaawteventActionEvent evt) {
tianjiatankuangsetVisible(false)
IdsetText()输入框摸空
namesetText()
placesetText()
moneysetText()
phonenumsetText()
departmentsetText()}
private void addsureActionPerformed(javaawteventActionEvent evt) {
while(true){异常处理区域
try{if(abnormalpanduanId(IdgetText()))
throw new Exception()
break }
catch(Exception ex){ IdsetText(JOptionPaneshowInputDialog(null 错误该员工已存:\nnull)) }}
while(true){异常处理区域
try{if(abnormalpanduanname(namegetText()))
throw new Exception()
break }
catch(Exception ex){ namesetText(JOptionPaneshowInputDialog(null 错误姓名中含数字:\nnull)) }}
while(true)
{try{if(DoubleparseDouble(moneygetText())<800)
throw new Exception()
break }
catch(Exception ex){ moneysetText(JOptionPaneshowInputDialog(null 错误工资应高等800元:\nnull)) }}
while(true){
try{ boolean result2phonenumgetText()matches([09]+)
if(phonenumgetText()length()11||result2false)
throw new Exception()
break }
catch(Exception ex){ phonenumsetText(JOptionPaneshowInputDialog(null 错误请输入效手机号:\nnull)) }}
while(true){
try{ if(abnormalpanduandepartment(departmentgetText())false)
throw new Exception()
break }
catch(Exception ex){ departmentsetText(JOptionPaneshowInputDialog(null 错误存该部门:\nnull)) }}
tianjiabingxianshi()}
public void tianjiabingxianshi(){存入文件重新显示
fileOperation tempnew fileOperation(d\\2txt)
tempwriteFile(IdgetText()+ +namegetText()+ +placegetText()+ +moneygetText()+ +phonenumgetText()+ +departmentgetText())
IdsetText()输入框摸空
namesetText()
placesetText()
moneysetText()
phonenumsetText()
departmentsetText()
tianjiatankuangsetVisible(false)
JOptionPaneshowMessageDialog(null 添加成功 提示 JOptionPanePLAIN_MESSAGE)
lookxianshi(thisbiaoge1getModel()thisbiaoge1getRowCount())
}
private void searchsureActionPerformed(javaawteventActionEvent evt) {
fileOperation tempnew fileOperation(d\\2txt)
StringBuffer buffer1tempreadFile()
int result1buffer1indexOf(searchNamegetText()+ 0)判断员工否存
if(result11)
{searchtankuangsetVisible(false)
functionsearch(buffer1searchNamegetText()+ thisbiaoge2getRowCount() thisbiaoge2getModel())
employinformationtankuangsetVisible(true) }
else
JOptionPaneshowMessageDialog(null 没找员工 抱歉 JOptionPaneWARNING_MESSAGE)
searchNamesetText()}
private void searchcancelActionPerformed(javaawteventActionEvent evt) {
searchtankuangsetVisible(false)
searchNamesetText()}
private void deletesureActionPerformed(javaawteventActionEvent evt) {
fileOperation tempnew fileOperation(d\\2txt)
StringBuffer buffer1tempreadFile()
int result1buffer1indexOf(deleteIdgetText()+ 0)果第位置数作员工Id
if(result11)
{ functiondelete(deleteIdgetText() buffer1)
deleteIdsetText()
deletetankuangsetVisible(false)
JOptionPaneshowMessageDialog(null 删成功 提示 JOptionPanePLAIN_MESSAGE)
lookxianshi(thisbiaoge1getModel()thisbiaoge1getRowCount())}
else
{JOptionPaneshowMessageDialog(null 没找员工 抱歉 JOptionPaneWARNING_MESSAGE) }
deleteIdsetText()}
private void changesureActionPerformed(javaawteventActionEvent evt) {
newIdchangeIdgetText()
fileOperation tempnew fileOperation(d\\2txt)
StringBuffer buffer1tempreadFile()
int result1buffer1indexOf(changeIdgetText()+ 0)果第位置数作员工Id
if(result1>1)第位置
result1buffer1indexOf(+changeIdgetText()+ 0)加强判断条件
if(result11)
{changemoneytankuangsetVisible(true)
}else
{ JOptionPaneshowMessageDialog(null 没找员工 抱歉 JOptionPaneWARNING_MESSAGE)
changeIdsetText()}}
private void changemoneysureActionPerformed(javaawteventActionEvent evt) { while(true)
{ try{if(DoubleparseDouble(changemoneygetText())<800)
throw new Exception()
break }
catch(Exception ex){ changemoneysetText(JOptionPaneshowInputDialog(null 错误工资应高等800元:\nnull)) }}
functionchangemoney(changeIdgetText() changemoneygetText())
changeIdsetText()
changemoneysetText()
changetankuangsetVisible(false)
changemoneytankuangsetVisible(false)
JOptionPaneshowMessageDialog(null 修改成功 提示 JOptionPanePLAIN_MESSAGE)
lookxianshi(thisbiaoge1getModel()thisbiaoge1getRowCount())}
private void 警告sureActionPerformed(javaawteventActionEvent evt) {
fileOperationdeleteFile(d\\2txt)删原文件信息
getItdeposit()存入系统设定信息
Systemoutprintln(已成功初始化数)
JOptionPaneshowMessageDialog(null 已成功初始化数 恭喜 JOptionPanePLAIN_MESSAGE)
lookxianshi(thisbiaoge1getModel()thisbiaoge1getRowCount())
jinggaosetVisible(false) }
public class fileOperation {private String filePath
private File file
public void setFilePath(String filePath)
{thisfilePathfilePath}
public String getFilePath()
{return thisfilePath }
fileOperation()
{ }
fileOperation(String filePath)
{ thisfilePathfilePath
thisfilenew File(thisfilePath)
if(thisfileexists())
{try
{ thisfilecreateNewFile()}
catch(IOException ce)
{ceprintStackTrace()}}}
public StringBuffer readFile()
{StringBuffer buffernew StringBuffer()
try{
String linebrreadLine()
while(linenull){
Systemoutprintln(line)
bufferappend(line+)
linebrreadLine()}
brclose()
frclose()}
catch(IOException ce)
{ceprintStackTrace()}
return buffer }
public boolean writeFile(String str)
{ boolean successtrue
try{ BufferedWriter bwnew BufferedWriter(fw)
bwwrite(str)
bwnewLine()
bwflush()
fwclose()}
catch(IOException ce)
{ceprintStackTrace()
successfalse
return success }
return success }
public static void deleteFile(String fileName){
File file1new File(fileName)
if(file1isFile()&&file1exists())
{file1delete()
Systemoutprintln(已您删+fileName+处文件) }
else
Systemoutprintln(fileName+处文件动您添加)}}
public class function {
public static void search(StringBuffer buffer1String characterint infor1TableModel infor2) { 找员工信息显示int result1buffer1indexOf(character0)
DefaultTableModel tableModel2(DefaultTableModel)infor2
for(int k0k
String child[]new String[6]
int firstSpacesecondSpacethirdSpaceforthSpacefifthSpace
firstSpacebuffer1indexOf( result1)
secondSpacebuffer1indexOf( firstSpace+1)
thirdSpacebuffer1indexOf( secondSpace+1)
forthSpacebuffer1indexOf( thirdSpace+1)
fifthSpacebuffer1indexOf(forthSpace+1)
child[0]buffer1substring(result13result11)
child[1]buffer1substring(result1firstSpace)
child[2]buffer1substring(firstSpace+1secondSpace)
child[3]buffer1substring(secondSpace+1thirdSpace)
child[4]buffer1substring(thirdSpace+1forthSpace)
child[5]buffer1substring(forthSpace+1fifthSpace)
tableModel2addRow(child) }
public static void delete(String IdStringBuffer buffer1){根获位置进行删
int result1buffer1indexOf(Id+ 0)
if(result1>1)第位置
result1buffer1indexOf(+Id+ 0)加强判断条件
String letter2letter3
int duanbuffer1indexOf( result1)位置移避免永远搜身
int newduanbuffer1indexOf(duan)获:位置
if(0result1)第位置数
{ letter2buffer1substring(0result1)
letter3buffer1substring(newduanbuffer1length()1) }
else
{ letter2buffer1substring(0result1)
letter3buffer1substring(newduan+1buffer1length()1) }
fileOperation temp5new fileOperation(d\\2txt)实例化象
fileOperationdeleteFile(d\\2txt)删原数
temp5writeFile(letter2+letter3) }
public static void changemoney(String IdString money){
fileOperation tempnew fileOperation(d\\2txt)文件里修改思路:薪水前+新薪水+薪水
StringBuffer buffer1tempreadFile()文件读出
int result1buffer1indexOf(Id0)判断文件字符串中否显示框中容获位置标
String letter4letter5
int firstSpacesecondSpacethirdSpaceforthSpace
firstSpacebuffer1indexOf( result1)获空格位置
secondSpacebuffer1indexOf( firstSpace+1)
thirdSpacebuffer1indexOf( secondSpace+1)
forthSpacebuffer1indexOf( thirdSpace+1)
letter4buffer1substring(0thirdSpace)
letter5buffer1substring(forthSpace+1buffer1length()1) fileOperationdeleteFile(d\\2txt)删原数
fileOperation temp5new fileOperation(d\\2txt)实例化象
temp5writeFile(letter4+ +money+ +letter5) }}
public class getIt {public static void deposit(){
String firstFormation01 王五 山东 4500 13798987654 理部
String secondFormation02 安心 贵州 1200 13799999654 生产车间
String thirdFormation03 杨燕 四川 6300 15709200187 研发部
fileOperation tempnew fileOperation(d\\2txt)实例化象
tempwriteFile(firstFormation+\n+secondFormation+\n+thirdFormation)}}
public class look { public static void xianshi(TableModel infor1int infor2){
fileOperation tempnew fileOperation(d\\2txt)
StringBuffer buffertempreadFile()文件读出
int count0start0end1k0count计算行数
while(true)
{end1bufferindexOf(start)获第号位置
count++
if(end1bufferlength()1)达末尾
break
startend1+1 }
String str[]new String[count]创建存放段字符串数组
start0
DefaultTableModel tableModel1(DefaultTableModel)infor1
while(true)
{end1bufferindexOf(start)
str[k]buffersubstring(startend1)行字符串数组
if(end1bufferlength()1)
break
startend1+1
k++}
int count1infor2获表格行数
for(k0k
for(k0k
int firstSpacesecondSpacethirdSpaceforthSpacefifthSpace
firstSpacestr[k]indexOf( 0)获空格位置
secondSpacestr[k]indexOf( firstSpace+1)
thirdSpacestr[k]indexOf( secondSpace+1)
forthSpacestr[k]indexOf( thirdSpace+1)
fifthSpacestr[k]indexOf( forthSpace+1)
child[0]str[k]substring(0firstSpace)
child[1]str[k]substring(firstSpace+1secondSpace)
child[2]str[k]substring(secondSpace+1thirdSpace)空格空格间数存入数组
child[3]str[k]substring(thirdSpace+1forthSpace)
child[4]str[k]substring(forthSpace+1fifthSpace)
child[5]str[k]substring(fifthSpace+1str[k]length())
tableModel1addRow(child)存入表格} }}
三类方法
abnormal
fileOperation
function
getIt
look
panduanId(String Id)
panduanname(String name)
panduandepartment(String department)
readFile()
writeFile(String str)
deleteFile(String fileName)
search(StringBuffer buffer1String characterint infor1TableModel infor2)
delete(String IdStringBuffer buffer1)
changemoney(String IdString money)
deposit()
xianshi(TableModel infor1int infor2)
四调试程
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档