查看: 1938|回复: 0

[Java代码] java学生信息管理系统源代码

发表于 2018-2-25 08:00:00

本文实例为大家分享了java学生信息管理系统的具体代码,实现学生信息: 增加 int[] a=new int[9] 、删除 、查找、更改,供大家参考,具体内容如下

  1. /*学生信息管理系统,实现学生信息:
  2. *增加 int[] a=new int[9]
  3. *删除
  4. *查找
  5. *更改
  6. */
  7. import java.util.Scanner;//导入java输入流
  8. import java.lang.*;
  9. import java.io.*;
  10. class Student
  11. {
  12. private static Student[] s=new Student[2];
  13. int n=0;
  14. private String name;
  15. private int num;
  16. private String classAge;
  17. public void judge()throws IOException
  18. {
  19. int i;
  20. char ch;
  21. String str;
  22. Scanner In=new Scanner(System.in);
  23. if(n==0)
  24. {
  25. System.out.print("你还没有录入任何学生,是否录入(Y/N):");
  26. str=In.next();
  27. ch=str.charAt(0);
  28. while(ch!='Y'&&ch!='y'&&ch!='N'&&ch!='n')
  29. {
  30. System.out.print("输入有误,请重新输入:");
  31. str=In.next();
  32. ch=str.charAt(0);
  33. }
  34. if(ch=='Y'||ch=='y')
  35. {
  36. this.add();
  37. }
  38. if(ch=='N'||ch=='n')
  39. {
  40. this.menu();
  41. }
  42. }
  43. }
  44. public void menu()throws IOException//定义菜单函数
  45. {
  46. int a;//定义switch语句变量
  47. Scanner in=new Scanner(System.in);//实例化输入流对象
  48. System.out.println("*********学生信息管理系统功能表*********");
  49. System.out.println("***** 1.增加 *****");
  50. System.out.println("***** 2.显示 *****");
  51. System.out.println("***** 3.修改 *****");
  52. System.out.println("***** 4.删除 *****");
  53. System.out.println("***** 5.查看 *****");
  54. System.out.println("***** 0.退出 *****");
  55. System.out.println("****************************************");
  56. System.out.print("请选择(0~5):");
  57. a=in.nextInt();
  58. while(a<0||a>5)
  59. {
  60. System.out.print("输入超出范围,请重新输入:");
  61. a=in.nextInt();
  62. }
  63. switch(a)
  64. {
  65. case 1:this.add();break;
  66. case 2:this.show();break;
  67. case 3:this.modif();break;
  68. case 4:this.delete();break;
  69. case 5:this.look();break;
  70. case 0:System.exit(0);break;
  71. }
  72. }
  73. public void add()throws IOException//定义增加函数
  74. {
  75. String str,str1,str2;
  76. int i,num1,t=1;
  77. char ch,ch1;
  78. FileWriter fw=new FileWriter("F://javaFile//student.txt",true);
  79. fw.write(" 录入的学生信息列表\r\n\r\n学号 姓名 班级\r\n");
  80. Scanner In=new Scanner(System.in);
  81. while(t==1)
  82. {
  83. System.out.print("请输入学生学号:");
  84. num1=In.nextInt();
  85. for(i=0;i<n;i++)
  86. {
  87. while(s[i].num==num1)
  88. {
  89. System.out.println("已存在此学号,请重新输入");
  90. System.out.print("请输入学号:");
  91. num1=In.nextInt();
  92. }
  93. }
  94. s[n].num=num1;
  95. str2=String.valueOf(num1);
  96. fw.write(str2+" ");
  97. System.out.println();
  98. System.out.print("请输入学生姓名:");
  99. s[n].name=In.next();
  100. fw.write(s[n].name+" ");
  101. System.out.println();
  102. System.out.print("请输入学生班级:");
  103. s[n].classAge=In.next();
  104. fw.write(s[n].classAge+"\r\n");
  105. ++n;
  106. fw.close();
  107. System.out.println();
  108. System.out.print("是否继续添加(Y/N)");
  109. str=In.next();
  110. ch=str.charAt(0);
  111. while(ch!='N'&&ch!='n'&&ch!='Y'&&ch!='y')
  112. {
  113. System.out.print("输入有误,请重新输入:");
  114. str=In.next();
  115. ch=str.charAt(0);
  116. }
  117. if(ch=='N'||ch=='n')
  118. {
  119. break;
  120. }
  121. }
  122. System.out.println();
  123. System.out.print("是否返回主菜单(Y/N)");
  124. str1=In.next();
  125. ch1=str1.charAt(0);
  126. while(ch1!='Y'&&ch1!='y'&&ch1!='N'&&ch1!='n')
  127. {
  128. System.out.print("输入有误,请重新输入:");
  129. str1=In.next();
  130. ch1=str1.charAt(0);
  131. }
  132. if(ch1=='Y'||ch1=='y')
  133. {
  134. this.menu();
  135. }
  136. if(ch1=='N'||ch1=='n')
  137. {
  138. System.out.println("正在退出...谢谢使用!");
  139. System.exit(0);
  140. }
  141. }
  142. public void show()throws IOException
  143. {
  144. int i;
  145. this.judge();
  146. System.out.println("本次操作共录入"+n+"位学生!");
  147. System.out.println("你录入的学生信息如下:");
  148. System.out.println();
  149. System.out.println("学号\t\t姓名\t班级");
  150. for(i=0;i<n;i++)
  151. {
  152. System.out.println(s[i].num+" "+s[i].name+" "+s[i].classAge);
  153. }
  154. System.out.println("系统返回主菜单!");
  155. this.menu();
  156. }
  157. public void delete()throws IOException//删除信息功能实现 注:本功能暂时不具备可扩展性
  158. {
  159. this.judge();
  160. int j=0,t=0,k=0,num1;
  161. char ch;
  162. String str;
  163. Scanner pin=new Scanner(System.in);
  164. System.out.print("请输入要删除的学号:");
  165. num1=pin.nextInt();
  166. for(j=0;j<n;j++)
  167. {
  168. if(s[j].num==num1)
  169. {
  170. k=1;
  171. t=j;
  172. }
  173. }
  174. if(k==0)
  175. {
  176. System.out.println("对不起!你要删除的学号不存在!");
  177. System.out.println("系统将返回主菜单!");
  178. this.menu();
  179. }
  180. if(k==1)
  181. {
  182. System.out.println("你要删除的学生信息如下:");//打印管理员要删除的学生信息
  183. System.out.println("学号\t姓名\t班级");//本功能暂时不备扩展性
  184. System.out.println(s[t].num+" "+s[t].name+" "+s[t].classAge);
  185. System.out.println();
  186. System.out.print("你确定要删除(Y/N):");
  187. str=pin.next();
  188. ch=str.charAt(0);
  189. while(ch!='Y'&&ch!='y'&&ch!='N'&&ch!='n')
  190. {
  191. System.out.print("输入有误,请重新输入:");
  192. str=pin.next();
  193. ch=str.charAt(0);
  194. }
  195. if(ch=='N'||ch=='n')
  196. {
  197. System.out.println();
  198. System.out.println("系统返回主菜单!");
  199. this.menu();
  200. }
  201. if(ch=='Y'||ch=='y')
  202. {
  203. for(j=t;j<n-1;j++)
  204. {
  205. s[j]=s[j+1];
  206. }
  207. n--;
  208. System.out.println("数据成功删除!");
  209. System.out.println("系统返回主菜单!");
  210. this.menu();
  211. }
  212. }
  213. }
  214. public void look()throws IOException
  215. {
  216. FileReader fr=new FileReader("F://javaFile//student.txt");
  217. int a;
  218. while((a=fr.read())!=-1)
  219. {
  220. System.out.print((char)a);
  221. }
  222. fr.close();
  223. System.out.println("系统返回主菜单!");
  224. System.out.println();
  225. this.menu();
  226. }
  227. public void modif()throws IOException
  228. {
  229. this.judge();
  230. int j=0,t=0,k=0,num2,num3,moi,c=1;
  231. char ch;
  232. String str,str1,str2;
  233. Scanner pin=new Scanner(System.in);
  234. System.out.print("请输入要修改的学号:");
  235. num2=pin.nextInt();
  236. for(j=0;j<n;j++)
  237. {
  238. if(s[j].num==num2)
  239. {
  240. k=1;
  241. t=j;
  242. }
  243. }
  244. if(k==0)
  245. {
  246. System.out.println("对不起!你要修改的学号不存在!");
  247. System.out.println("系统将返回主菜单!");
  248. this.menu();
  249. }
  250. if(k==1)
  251. {
  252. System.out.println("你要修改的学生信息如下:");//打印管理员要删除的学生信息
  253. System.out.println("学号\t姓名\t班级");//本功能暂时不备扩展性
  254. System.out.println(s[t].num+" "+s[t].name+" "+s[t].classAge);
  255. System.out.println();
  256. System.out.print("你确定要修改(Y/N):");
  257. str=pin.next();
  258. ch=str.charAt(0);
  259. while(ch!='Y'&&ch!='y'&&ch!='N'&&ch!='n')
  260. {
  261. System.out.print("输入有误,请重新输入:");
  262. str=pin.next();
  263. ch=str.charAt(0);
  264. }
  265. if(ch=='N'||ch=='n')
  266. {
  267. System.out.println();
  268. System.out.println("系统返回主菜单!");
  269. this.menu();
  270. }
  271. while(c==1)
  272. {
  273. if(ch=='Y'||ch=='y')
  274. {
  275. System.out.println("****************************************");
  276. System.out.println("***** 1.修改学号 *****");
  277. System.out.println("***** 2.修改班级 *****");
  278. System.out.println("***** 3.修改姓名 *****");
  279. System.out.println("****************************************");
  280. System.out.print("请选择:");
  281. moi=pin.nextInt();
  282. switch(moi)
  283. {
  284. case 1:System.out.print("请输入新的学号:");num3=pin.nextInt();s[t].num=num3;break;
  285. case 2:System.out.print("请输入新的班级:");str1=pin.next();s[t].classAge=str1;break;
  286. case 3:System.out.print("请输入新的姓名:");str2=pin.next();s[t].name=str2;break;
  287. }
  288. System.out.println("数据已成功修改!");
  289. }
  290. System.out.print("是否继续修改(Y/N)");
  291. str=pin.next();
  292. ch=str.charAt(0);
  293. System.out.println();
  294. while(ch!='Y'&&ch!='y'&&ch!='N'&&ch!='n')
  295. {
  296. System.out.print("输入有误,请重新输入:");
  297. str=pin.next();
  298. ch=str.charAt(0);
  299. }
  300. if(ch=='N'||ch=='n')
  301. {
  302. break;
  303. }
  304. }
  305. }
  306. System.out.println();
  307. System.out.println("系统返回主菜单!");
  308. this.menu();
  309. }
  310. public static void main(String[] args)throws IOException
  311. {
  312. Student stu=new Student();
  313. for(int i=0;i<2;i++)
  314. {
  315. s[i]=new Student();
  316. }
  317. stu.menu();
  318. }
  319. }
复制代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持程序员之家。



回复

使用道具 举报