java小白学习练手-成绩管理系统(七)

上传人:黑** 文档编号:50733924 上传时间:2022-01-22 格式:DOCX 页数:44 大小:136.02KB
收藏 版权申诉 举报 下载
java小白学习练手-成绩管理系统(七)_第1页
第1页 / 共44页
java小白学习练手-成绩管理系统(七)_第2页
第2页 / 共44页
java小白学习练手-成绩管理系统(七)_第3页
第3页 / 共44页
资源描述:

《java小白学习练手-成绩管理系统(七)》由会员分享,可在线阅读,更多相关《java小白学习练手-成绩管理系统(七)(44页珍藏版)》请在装配图网上搜索。

1、继续上一个部分的代码,我们做一些修改,加入读文件和写文件编写程序的退出773加5573-9aprivate studentscore tindByXhQint num)加/修改学生信息在函数private void updateStudentInfo() /,系统退出public void exitSystem() throws InterruptedException (System, out. printin(系统准备退出);Thread s Wgp(3。); /3秒退出System, out. println(系统已退出);System, exit (0); /统23455 7准备一个角

2、色类IMlIS Package Explorer S3 = IB 写 I * D4、SglwzyJv JRE System Library |JvaSE-l.,密 src,comxlgK/ococwzy田 entity2) Role.java U |12package com.xlglvc.xxx.wzy.entity;public class Role |I J Rolejwst SB view,) Wekomejava W doc0 Servers编写角色内容的属性内容. D ViewControljavaJTeacherRoleJava 买r xmpvi . java. ulxx. ux

3、oi6 import com.xlglvc.xxx.wzy.utils.Constants;9101112131415161711819208 public class TeacherRole extends Role(List scores = new ArrayList();public List getScores() return scores;public void setscores(List scores) this.scores = scores;21222324252627/构造public TeacherRole(String roleName) this.setName(

4、roleName);this.setType(Constants.TEACHER_ROLE);准备退出函数1819202122232425262728293031323334:3536I 37打印列表public void setScores(List scores) this.scores = scores;构造public TeacherRole(String roleName) this.setName(roleName);this.setType(Constants. 7/ICW/?_/?OE);/系统退出public void exitSystem() throws Interrup

5、tedException System, owt. printin(系统准备退出);Thread. steep(3。); 3 秒退出System, out. printin(“系统己退出“);System, exit(0); / /退出系统52535455平57E85960e|i2361456789012 ViewControljavd J?) TcacherRolejava 1no37/打印菜单38public void showList() throws InterruptedException 39while(true) 40System, out. print In (请输入您要执行的

6、操作:);mSystem, out. println( 1.查看全班学生成绩);如2System, owt. print In (2.依据学号查看成绩);如3System, owt. print In (3.依据学号修改成绩44System.ot.println(H4.依据学号删除成绩”);245System, out. println( 5.添加市费);科6System, out. printing 6、写入文件);A7System.owt. println(7x 读文件);48System.owt.println(8.退出);科9/输入的类50Scanner sc = new Scanne

7、r(System.in);51int inputRoleVar = sc. next I nt (); / /A52/裁值判断53if(inputRoleVar = 1) 54/开始查看全班成绩55else if(inputRoleVar = 2) 56/升始登看该学生的成绩接上一个/数值判断if(inputRoleVar = 1) /开始查看全班成绩else if(inputRoleVar = 2) 0,开为查看我锤顿else if(inputRoleVar = 3) System, out. print In (”请输入&要修改的学生学号:);else if(inputRoleVar =

8、4) System, out. print In (请输入您要删除的学生学号:);else if(inputRoleVar = 5) 开始添加成绩else if(inputRoleVar = 6) else if(inputRoleVar = 7) else if(inputRoleVar = 8) exitSystem( ); /系统退出else System.out. print 1 n(”输入错误,请重新输入);完成学生和老师的实例化Quick Ac旦 VievXontroljdvd 区. TeacherRoleJava2728293031323334353637383940414243

9、44454647484950输入用户角色,1、学生2、老师3、退出systemexit(。)public void inputRole() throws InterruptedException (while(true) System.。赤.printin(”请输入用户角色:);System.owt. println(1,学生 2、老师 3、退出);/输入的类Scanner sc = new Scanner(System.in);int inputRoleVar = sc.nextlnt();/W入/数值判断itlinputRoleVar* = 1) System, out. print In

10、 (进入学生角色);/实例化一个学生角邑role = new StudentRole(学生角色);break/跳出循环ejlse if(inputRoleVar = 2) (System, owt. print In (进入老师角色);/实例化一个老师角色role = new TeacherRole(老师角色);break;else if(inputRoleVar = 3) exitSystem(); 退出系统else System, out. print In (“输入带误,请重新输入);编写一个操作函数DOQuick Access 咯 |(2j Viewontrolava X3 I J)

11、TecherRoleAVA38394041424344454647484950515253545556-5758596A调用函数System, out. print In (进入学生角色”);/实例化f学生角色role = new StudentRole(学生角色);break;/既出循环else if(inputRoleVar = 2) System, out. printin(进入老师角色);/实例化一个老师角色role = new TeacherRole(佬师角色);break;/既出循环else if(inputRoleVar = 3) (exitSystem(); /退出系统else

12、 System, out. print In (输入借误,清重新输入);/该角色可以执行的操作private void inputRoleOperation() throws InterruptedException 47484950515253/开始操作.inputRoleOperation();18J19J-else i+(inputRoleVar = 3J exitSystem(); /退出系统else Sy stem. out. print In (“输入错误,请重新输入“);55 5656 /该角色可以执行的操作.private void inputRoleOperation() t

13、hrows InterruptedE:5960 616263,人,IlA角色补充2 3 public clas: Role 5 private String name;/我的角色名称6 I7, private int type =。;该角色是什么1学生2老师8 9 /补充打印菜单10 public void showList() throws InterruptedException11121314151617public void setName(String name) 编写调用Quick Access : VicwControljdva 贝L TcacherRolejavo 21 Rol

14、ejava50E|else 51System. out. print In (输入错误请重新输入);52、 5354/玉酋操作55inpLRoleOperation();565758/该角色可以执行的倒作nri/a+p v/cid *i nnutRol pOnpnt*i onf thTn+prnin+pdFycah+ *i nn 60角色61if(role.getType() = Constants.STUDENT_ROLE62|role.getType() = Constants.TEACHER_ROLE) 63/该角色是学生那么打印学生茉单64role.showList();65)else

15、66System.println(系统出错 1.退出系统);67exitSystem(); 退出系统68697071打印当前角色J ViewControljava 23 p TeacherRolejava 2) Role java54555657I5859!6364656667686970r7172737475 .编写老师角色删除数据12/开始操作inputRoleOperation();该角色可以执行的操作private void inputRoleOperation() throws InterruptedException 角色if(role.getType() = Constants.

16、STUDENT_ROLE|role.getType() = Constants.TEACHER_ROLE) 该角色是学生那么打印学生菜单role.showList();elseSystem.out. println(系统出错I,退出系统“);exitSystem( ); /退出系统/打印当前角色信息public void printlnfo() System, oc/t. printin(当前角色是+ role. getName();199200201-2022032042052062072082092102112122132142150 ViewControljAvaTeacherRolej

17、ava Si193 K194195、196System.out.pr板Uln (”修改完学生的学号”);197198/输入学号删除同学的成绩.public void deleteScore(String xh) |System, out. printin(“开恻除该同学的蹶“);Iterator its = scores.iterator();while(its.hasNext() Score score = its.next();if(xh.equals(score.getXh() (its.remove();break;System, o 赤.print In (即除完成);216I) V

18、iewControljavTecherRolejv 必X /J Y176z177 y。输入学号修改同学的成绩1178 /public void modifyScore(String xh) 1179 /System, out. print In (开始修改该的同学的成绩);|18a1声Iterator its = scores.iterator();while(its.hasNext() 1183Score score = its.next();1184if(xh.equals(score.getXh() 11851186Score newScore = inputScore( );/新输入的

19、成绩1187its.remove();1188scores.add(newScore);11891190break;11911192193|194System, out. print In (修改完学生的学号”);己195修改成绩Quick Access输入成绩ontroljava 爻TeacherRolejiA/a 饮/输入成绩private Score inputScore() System, out. print In (请输入学生学号);Scanner sc = new Scanner(System.in);String xsxh = sc.nextLine();System .out

20、. println(请输入学生姓名);String xsxm = sc.nextLine();System. out. print In (请输入语文成绩);double ywcj = sc.nextDouble();System.。赤.print In (请输 AJK 学成绩);double sxcj = sc.nextDouble();您输入的信息是 ”+ywcj+“ 数学System.。赤.printin(学号:+xsxh+姓名+xsxm+语文Score score = new Score();score.setXh(xsxh);score.setName(xsxm);score.set

21、Yw(ywcj);score.setSx(sxcj);return score;后面隐藏的部分core inputScore() n.o赤.printin(”请输入学生学号”);?r sc = neu Scanner(System.in);g xsxh = sc.nextLine();nout.printin(请输入学生姓名);g xsxm = sc.nextLine();n. out. print In (i| 入语文成绩);a ywcj = sc.nextDouble();n.out.println(请输入数学成绩);3 sxcj = s.ncxtDouble();的信息是n.out.pr

22、in-Jln(,:,+xsxh+u 姓名,+xsxm+语文成绩“+ywcj + “ 数学成绩”+sxcj);score = new Score();,setXh(xsxh.setName(xsxm);.setYw(ywcj);.setSx(sxcj);添加成绩9 i ViewControljava.) TefidierRolejava 23 |_2X1 OAJ127添加成绩128,public void addScore() 129System, out. print In (开始渤。成绩);130int count =。;331Scanner sc = new Scanner(System.

23、in);132System.oM.println(如果您要输入成绩,请输入如果不想输入成绩,清输入其它值“);133System.out.println();134count = sc.nextlnt();135while(count = 0) 136Score score = inputScore();137scores.add(score);138System.out.printIn();139System.out.printin(“您是否要继续输入,继续输入清输入。否则请输入其他值);140count = sc.nextlnt();141i142143144|145/输入成绩输入学号查看

24、该学号同学的成绩Quick Access :A W|101输入学号查看该学号同学的成绩|102public Score queryScoreByNumber(String xh) 103System. out. print In (“开始查看该学生的瞬“);104boolean isQuery = false;105String sep = t106Iterator its = scores.iterator();107while(its.hasNext() 108Score score = its.next();109if(xh.equals(score.getXh() 110String

25、scorestring = score.getXh() t111+ score.getYw() + sep + scort112System.owt.println(scorestring);113isQuery = true;114break;115116117118if(IisQuery) 119System, out. println(该生不存在);120.121return null;122123争 d eIZ) TecherRolejav 23. ViewControljiv后面隐藏的部分.查看该学号同学的瞬1 Score queryScoreByNumber(String xh)

26、I tem. out. print In (开始查看该学生的成绩);I lean isQuery = false;;*ing sep = t;;rator its = scores.iterator();,le(its.hasNext() ; Score score = its.next(); if (xh.eauals(score. setXh() (String scorestring = score.getXh() + sep + score.getName() + sep+ score.getYw() + sep + score.getSx();System.out.printIn(s

27、corestring);isQuery = true;break;;I isQuery) 3450739a1234557查看全班成绩/查看全班成绩public List queryAHClassScore() |System, out. print In (开始查看全班昧);String sep = t;/查看全班瘀责的代码Iterator its = scores.iterator();while(its.hasNext() (Score score = its.next();String scorestring = score.getXh() + sep + score.getName(+

28、 score.getYw() + sep + score.getSx(System.out.println(scorestring);return null;后面隐藏的部分淆全班成绩lie List queryAHClassScore() System.printin(“开始查看全班昧“);String sep = t;/查看全班成绩的代码Iterator its = scores.iterator();while(its.hasNext() Ssr*色 EQ” = its一String scorestring = score.getXh() + sep + score.getName() +

29、 sep+ score.getYw() + sep + score.getSx();System.out.println(scorestring);reLuin nullj输入学号为 ViewControljava:66j 67j 68| 6970I 71; TeacherRolejava 23else if(inputRoleVar = 8) exitSystem();/系统退出System. out. print 1 n(“输入错误,请重新输入);else 72737475I 76:77I 78-次80:8133I 84/查看全班成绩/输入学号private String getXh()

30、Scanner sc = new Scanner(System.in);String xh = sc.nextLine();return xh;补充到菜单中oljwa J/) TecherRolejAva 23/输入的类Scanner sc = new Scanner(System.in);int inputRoleVar = sc. nextlnt ();/斩*一/数值判断if(inputRoleVar = 1) /开始查看全班成绩queryAHClassScore();else if(inputRoleVar = 2) /开始查看该学生的成绩System.。心.print 1 n(“请输入

31、您要查找的学生学号:”);queryScoreByNumber(getXh();else if(inputRoleVar = 3) System.。赤.print In (请输入您要修改的学生学号:”);modifyScore(getXh();else if(inputRoleVar = 4) (System, out. println(入您要删除的学生学号:“);deleteScore(getXh();else if(inputRoleVar = 5) /开始添加成绩addScore();Jelse if(inputRoleVar = 6) (else if(inputRoleVar = 7

32、) (运行测试一下public class Role private String name;/我的角色名称private int type = 0; /该角色是什么1学生2老师public String getName() return name;public void setName(String name) this.name = name;jl锣11fl,ipublic int getType() return type;public void setType(int type) this.type = type;-210增加角色请输入用户角色:1、学生2、老师3、退出2进入老师角色请

33、输入您要执行的操作:查看全班学生成绩依据学号查看成绩依据学号修改成绩依据学号删除成绩添加成绩写入文件读文件退出Pdckdge Explorer S3巳您1字4 cjglwzy B J RE System Library (JavaSEl.由dso bO WriteFileJdva出entity (?) Rolejava Scorejdvat 四 StudentRolejsva/) StudentScorejava JT) TeacherRolejava田 utils (?) Constants java-fB view,J!TezcherRolelevA .Jl WriteFilelw占123

34、456package com.xlglvc.xxx.wzy.dao;public class WriteFileUrruuicnib v* JdvauuL 龄 ueudrauuri w uriuie viq,DrvprWelcome Java Application C:Program FilesJavajdkL8.0_151binjavaw.exe (2021年 11 月 16日下午1、2、3、4、5、6、7、8、5开始添加成绩如果您要输入成绩,请输入。,如果不想输入成绩,请输入其它值0请输入学生学号11请输入学生姓名22请输入语文成绩5准备写文件的类Qu需要导入的包lUICK ACCn p

35、vaSE-1.为 ViewControljava TeacherRolejwa . Write File java S3javas Javajava/ajavaQbQbQb认QbQbQbQbJ pwkaga ccm 一 xl qI uc 一 xxx 一 tsy 一 dac;2 import java.io.BufferedReader;3 import java.io.File;4 import java.io.FileInputstream;5 import java.io.FileOutputStream;6 import java.io.lOException;import java.i

36、o.InputStreamReader;8 import java.io.Printwriter;9 import java.util.UUID;_10 public class WriteFileJJ111211 准备一个全局类9tt Package Explorer S3。电1个D u 寸g、yl q JRE System Library JavaSE-l.4 2? src JJ comjdgkrcjoo(zy由 ddo 总 WriteFilejavaentity Scorejava 5)StudcntRolejava Jj StudentScorejava TeicherRolejavi

37、i4 tB utils E ConstantsjdvdQ Globaljava4 ViewControljivat 初 Wckomejavd0 仁 docQuick Access土 ViewControljwa TeacherRolej龄.WriteFilejwa21 Globaljava 23package com.xlglvc.xxx.wzy.utils;编写磁盘的位置和名字5678910public class Globa 1|public class Globall?public static finalpublic static final/文件路径+名称public final s

38、tatic编写删除的文件的函数String path = E:;String ftLeName = info.txt;String fitenameTemp = path + fiLeName;X pUMXXV V XCI oo ini X LCI xxc1314|M*15*删除文件16* param fileName 文件名称17* return18*/19-public static boolean delFile(String fileName)(20Boolean bool = false;21String filenameTemp = Global .pGtAi+fileName+

39、. txt;22File file = new File(filenameTemp);23try 24if(file.exists()25file.delete();26bool = true;2728 catch (Exception e) 2930return bool;3132向文件中写入内容5) ViewControljava TeacherRolejava WnteRlejva S333-/*34*向文件中写入内容35* param filepath文件路径与名称36* param newstr 写入的内容37* return38* throws lOException39/40pu

40、blic static boolean writeFileContent(String filepath,|41String newstr) throws IOException(|42Boolean bool = false;|43String filein = newstr+rn;/新写入的行.换行斜4String temp =4546FileInputstream fis = null;47InputStreamReader isr = null;48BufferedReader br = null;49FileOutputStream fos = null;50Printwriter

41、pw = null;51try 52r qFile file = new File(filepath);/文件路径(包括文件名称)53/ / -W-Xit lAAIMAvil54fis = new FileInputStream(file);55isr = new InputStreamReader(fisUTF-8);56br = new BufferedReader(isr);tTl ViewControlava484950515253545556575859 .,6。6162636465666768697071TeacherRolejwa WriteFilejava S3Buffered

42、Reader br = null;FileOutputStream fos = null;Printwriter pu = null;try File file = new File(filepath);/交上路径(包括文上名称)/将文件读入输入流fis = new FileInputStream(file);isr = new InputStreamReader(fis,UTF-8);br = new BufferedReader(isr);StringBuffer buffer = new StringBuffer();=5/文件原有0容for(int i=0;(temp =br.read

43、Line()I=null;i+)(buffer.append(temp);/行与行之间的分隔符相当于nbuffer = buffer.append(System.getProperty(line.separitc5buffer.append(filein);fos = new FileOutputStream(file);pw = nevj PrintWriter(fos);pw.write(buffer.toString().toCharArray();pw.flush();bool = true;4950515253545556575859FileOutputStream fos = nu

44、ll;Printwriter pw = null;try File file = new File(filepath);/文件路径(包括文件名称)将文件读入输入袂fis = new FileInputStream(file);isr = new InputStreamReader(fis,UTF-8);br = new BufferedReader(isr);StringBuffer buffer = new StringBuffer();60616263646566676R/文件原有内容for(int i=0;(temp =br.readLine()!=null;i+)(buffer.app

45、end(temp);tt汀与ILL阿的,1隋护捋当buffer = buffer.append(System.getProperty(line.separator);butter.appenatiiein;fos = new FileOutputStream(file);nw = npu Pri ntWri tpr :曰 b d,:d留 D O 勿 VlewControljava TeacherRoleJava WriteFilejava S370 pw. f lush();71bool = true;72 catch (Exception e) 73e printStackTrace();7

46、4)finally 75不要忘记关闭76if (pw I= null) 77pw close。;7879if (fos != null) 80fos close();8182| if (br I= null) 83br.close();8485if (isr != null) 86isr. close。;|88if (fis != null) |89fis.close();909192return bool;93-04创建文件i) ViewControljava . TeacherRolejav . WriteFilejvd S3 |01415*创建x4+16 param fileName 文

47、件名称17* param filecontent 文件内容118* return 是否创建成功,成勃则返回trueJ19/r20public static boolean createFile(String filecontent)(J21Boolean bool = false;22File file = new File(Global./ilena/nere/wp);23try 24/如臬文件不存在.则创建新的文件25if(lfile.exists()26file.createNewFile();27bool = true;28/创建文件成功后.与入内容到文件里29writeFiteCon

48、tent(Global.fiLenameTemp, filecontent);30else 31writeFiteConter7t(Global.fitenameTemp, filecontent);3233 catch (Exception e) 34e.printStackTrace();3536return bool;37第二个函数Viev/2ontroljava .J) TeacherRolejwa WriteFilejava S3 |_匕岬人IT41 param fileName 文件名称42 * param filecontent文件内容43 * 何return 岸否勺弗.成功,.

49、成功Wli后叵true4445-46474849505152535455565758596061626364public static boolean createFile(String fileName.,String filecontent)(Boolean bool = false;String filenameTemp = Global .put/i+fileName+ . txt; 文件路径+名称+File file = new File(filenameTemp);try /如果文件不存在,则创建新的文件if(I file.exists()file.createNewFile();

50、bool = true;/创建文件成功后,写入内容到文件里writeFiteCo/?ter7t(filenameTemp, filecontent);else wrxteFi(,eContent(filenameTemp, filecontent); catch (Exception e) e.printStackTrace();return bool;测试看-下importimportimportjava.io.InputStreamReader;java.io.Printwriter;java . utilUUID;10111213importpubliccom.xlglvc xxx.wz

51、y.utils.Global;class WriteFile151617181920-212223测试内容public static void main(String args) UUID uuid = JJID. randomUUIDO;createFite( uuid+myf ile., asdl jsad jksa jkdkj );*创建文件* param fileName 文件名称* param filecontent文件内容编写一个读文件Package Explorer 23臼电1 s* 泌cjg岫JRE System Library JwMEl.,击 comjdglvcxsocwz

52、y,B dao2 ReadFilejava里 entity 7) Rolejava J) Scorejdva 2)StudentRolejdvaStudentScore抑8 TeflcherRolejAva,S utils 2) Constants java 2 GlobaLjava-疝 view2 import34568910importimportimportimportimportjava.io.BufferedReader;java.io.FileInputstream;java.io.lOException;java.io.InputStreamReader;java.util.ArrayList;java.util.List;public class ReadFile编写内容H

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!