1. 代码如下:
    package com.lovo.manager;
  2.  
  3. import java.util.Scanner;
  4.  
  5. /**
  6. * 学生管理
  7. *
  8. * @author Administrator
  9. *
  10. */
  11. public class StudentManager {
  12.  
  13. public static void main(String[] args) {
  14. String[] user = new String[10];
  15. int[] password = new int[10];
  16. while (true) {
  17. // 菜单
  18. System.out.println("A 注册");
  19. System.out.println("B 登录");
  20. System.out.println("C 退出");
  21.  
  22. System.out.println("请选择菜单:");
  23. Scanner scan = new Scanner(System.in);
  24. String operator = scan.nextLine();
  25. operator = operator.toUpperCase();// 大小写互转
  26. // "SFCDS" 转换为一个一个的'S','F','C','D','S'
  27. char[] chr = operator.toCharArray();// 把字符串(String)转化为char数组
  28.  
  29. switch (chr[0]) {
  30. case 'A':
  31. register(user, password);
  32. break;
  33. case 'B':
  34. login(user, password);
  35. break;
  36. case 'C':
  37. System.out.println("退出系统!");
  38. System.exit(-1);
  39. break;
  40. default:
  41. System.out.println("操作错误,请从新输入!");
  42. break;
  43. }
  44. }
  45. }
  46.  
  47. /**
  48. * 登录
  49. */
  50. public static void login(String[] user, int[] password) {
  51.  
  52. System.out.println("输入用户名:");
  53. Scanner input = new Scanner(System.in);
  54. String userName = input.nextLine();
  55.  
  56. System.out.println("输入密码:");
  57. int pwd = input.nextInt();
  58.  
  59. int index = -1;
  60. for (int i = 0; i < user.length; i++) {
  61. if (userName.equals(user[i]) && pwd == password[i]) {// 如果用户名与密码匹配
  62. System.out.println("登录成功!");
  63. studentMenu(userName);
  64. index = i;
  65. break;
  66. }
  67. }
  68. if (index == -1) {// 如果没有找到下标,则登录失败
  69. System.out.println("登录失败!");
  70. return;
  71. }
  72. }
  73.  
  74. /**
  75. * 注册
  76. */
  77. public static void register(String[] user, int[] password) {
  78.  
  79. System.out.println("请输入用户名");
  80. Scanner scan = new Scanner(System.in);
  81. String userName = scan.nextLine();
  82.  
  83. System.out.println("请输入密码");
  84. int pwd = scan.nextInt();
  85. // 字符串中默认的数据是null,循环检查,一旦遇到null,
  86. // 就输入用户名和密码,把值赋值进去。
  87. for (int i = 0; i < user.length; i++) {
  88. if (user[i] == null) {
  89. user[i] = userName;
  90. password[i] = pwd;
  91. break;
  92. }
  93. }
  94. }
  95.  
  96. /**
  97. * 学生菜单
  98. */
  99. public static void studentMenu(String user) {
  100. // 学生姓名与分数
  101. String[] studentName = new String[2];
  102. int[] score = new int[2];
  103. boolean flag = false;
  104. while (true) {
  105.  
  106. System.out.println("***欢迎您" + user + "***");
  107.  
  108. System.out.println("A 新增学生成绩");
  109. System.out.println("B 修改学生成绩");
  110. System.out.println("C 删除学生成绩");
  111. System.out.println("D 查询学生成绩");
  112. System.out.println("E 返回上级菜单");
  113.  
  114. System.out.println("请选择菜单:");
  115. Scanner input = new Scanner(System.in);
  116. String operator = input.nextLine();
  117.  
  118. operator = operator.toUpperCase();
  119. char op = operator.toCharArray()[0];
  120.  
  121. switch (op) {
  122. case 'A':
  123. addInfo(studentName, score);
  124. break;
  125. case 'B':
  126. updateInfo(studentName, score);
  127. break;
  128. case 'C':
  129. deleteInfo(studentName, score);
  130. break;
  131. case 'D':
  132. queryInfo(studentName, score);
  133. break;
  134. case 'E':
  135. flag = true;
  136. break;// 退出这个switch,如果在while中不多增加一个break,则会继续循环不会返回上一级菜单
  137. default:
  138. System.out.println("操作错误,请从新输入!");
  139. break;
  140. }
  141. if (flag) {
  142. break;// 退出这个while,就返回到了登陆菜单
  143. }
  144. }
  145. }
  146.  
  147. /**
  148. * 新增学生信息
  149. *
  150. * @param studentName
  151. * @param score
  152. */
  153. public static void addInfo(String[] studentName, int[] score) {
  154.  
  155. for (int i = 0; i < studentName.length; i++) {
  156. System.out.println("请输入学生姓名:");
  157. Scanner scan = new Scanner(System.in);
  158. String stName = scan.nextLine();
  159. studentName[i] = stName;
  160.  
  161. System.out.println("请输入学生成绩:");
  162. int scr = scan.nextInt();
  163.  
  164. score[i] = scr;
  165. }
  166. }
  167.  
  168. /**
  169. * 修改学生姓名
  170. */
  171. public static void updateInfo(String[] studentName, int[] score) {
  172. System.out.println("请输入学生姓名:");
  173. Scanner scan = new Scanner(System.in);
  174. String stName = scan.nextLine();
  175. // 通过名字修改分数
  176. int index = -1;
  177. for (int i = 0; i < score.length; i++) {// 通过遍历,输入的数与数组中的数据元素比较
  178. if (stName.equals(studentName[i])) {// 如果找到这个学生姓名,就记录下标
  179. index = i;
  180. }
  181. }
  182. // 输入一个分数
  183. System.out.println("请输入学生成绩:");
  184. int scr = scan.nextInt();
  185.  
  186. score[index] = scr;// 把输入的成绩赋值给,index记录找到的这个 下标
  187. }
  188.  
  189. /**
  190. * 删除员工数据
  191. */
  192. public static void deleteInfo(String[] studentName, int[] score) {
  193. // 删除人名、删除分数
  194. System.out.println("请输入学生姓名:");
  195. Scanner scan = new Scanner(System.in);
  196. String stName = scan.nextLine();
  197. boolean flag = false;
  198. for (int i = 0; i < studentName.length; i++) {
  199.  
  200. if (studentName.length - 1 == i) { // 当前下标是最后一个的话,就退出循环
  201. studentName[i] = null;
  202. score[i] = 0;
  203. break;
  204. }
  205. if (stName.equals(studentName[i]) || flag) { // 如果发现这个名字,就用当前数组元素的下一个元素,向前移动替换当前这个元素
  206. flag = true;
  207. studentName[i] = studentName[i + 1];
  208. score[i] = score[i + 1];
  209. }
  210. }
  211. for (int i = 0; i < studentName.length; i++) {
  212. System.out.println("学生姓名=" + studentName[i] + ",成绩=" + score[i]);
  213. }
  214. }
  215.  
  216. /**
  217. * 查询学生信息
  218. */
  219. public static void queryInfo(String[] studentName, int[] score) {
  220. boolean flag = false;
  221. while (true) {
  222.  
  223. System.out.println("A 查询单个学生信息");
  224. System.out.println("B 查询所有学生信息");
  225. System.out.println("C 返回上级菜单");
  226.  
  227. System.out.println("请选择菜单:");
  228. Scanner scan = new Scanner(System.in);
  229. String operator = scan.nextLine();
  230. operator = operator.toUpperCase();// 大小写互转
  231.  
  232. char chr = operator.toCharArray()[0];
  233. switch (chr) {
  234. case 'A':
  235. querySinglStudentInfo(studentName, score);
  236. break;
  237. case 'B':
  238. queryAllStudentInfo(studentName, score);
  239. break;
  240. case 'C':
  241. flag = true;
  242. break;
  243. default:
  244. System.out.println("操作错误,请从新输入!");
  245. break;
  246. }
  247. if(flag) {
  248. break;
  249. }
  250. }
  251.  
  252. }
  253.  
  254. /**
  255. * 查询单个学生信息
  256. */
  257. public static void querySinglStudentInfo(String[] studentName, int[] score) {
  258. System.out.println("请输入学生姓名:");
  259. Scanner scan = new Scanner(System.in);
  260. String stName = scan.nextLine();
  261.  
  262. for (int i = 0; i < studentName.length; i++) {
  263. if (stName.equals(studentName[i])) {
  264. System.out.println("学生:" + studentName[i] + ",成绩:" + score[i]);
  265. break;
  266. }
  267. }
  268. }
  269.  
  270. /**
  271. * 查询所有学生信息
  272. */
  273. public static void queryAllStudentInfo(String[] studentName, int[] score) {
  274. for (int i = 0; i < studentName.length; i++) {
  275. System.out.println("学生:" + studentName[i] + ",成绩:" + score[i]);
  276. }
  277. }
  278. }

JAVA 语法基础综合练习——学生成绩管理系统的更多相关文章

  1. Java项目:学生成绩管理系统(二)

    学生成绩管理系统(二):项目介绍 一.设计要求: 1.1 简单的图形界面登录功能. 1.2 对数据库的的信息的查询功能. 1.3 对数据库的的信息的修改功能. 1.4 对数据库的的信息的删除功能. 1 ...

  2. 学生成绩管理系统 1.0(Java+MySql)

    真难…… 数据库建立不会,中文编码不会,插入数据不会,删除不会…… Java读入数据不会……数据库连接不会…… 你也好意思说自己是学计算机的啊魂淡…… 我会慢慢写2.0,3.0版的……噗…… src/ ...

  3. 使用Java模拟一个简单的Dos学生成绩管理系统:

    使用Java模拟学生成绩管理系统... ------------------- 学生成绩管理系统:需要实现的功能:1.录入学生的姓名和成绩2.显示列表.列表中包括学生姓名与成绩3.显示最高分.最低分的 ...

  4. Java课程设计—学生成绩管理系统(201521123005 杨雪莹)

    一.团队课程设计博客链接 学生成绩管理系统 二.个人负责模块或任务说明 学生成绩录入 显示所有学生信息 显示各科平均成绩 显示学生成绩(按降序排序) 三.自己的代码提交记录截图 四.自己负责模块或任务 ...

  5. Java课程设计——学生成绩管理系统(201521123003 董美凤)

    Java课程设计--学生成绩管理系统(201521123003 董美凤) 1.团队课程设计博客链接 学生成绩管理系统博客链接 2.个人负责模块或任务说明 信息修改 密码修改 部分界面设计 3.自己的代 ...

  6. Java开学测试-学生成绩管理系统

    题目: 1.定义 ScoreInformation 类,其中包括七个私有变量(stunumber, name, mathematicsscore, englishiscore,networkscore ...

  7. java简单学生成绩管理系统

    题目要求: 一. 数据结构要求:(5 分) 1.定义 ScoreInformation 类,其中包括七个私有变量(stunumber, name, mathematicsscore, englishi ...

  8. java学生成绩管理系统

                                                       信1805-1 20183590 田庆辉             石家庄铁道大学 2019 年秋季 ...

  9. 学生成绩管理系统-JAVA语言测试

     首先右键新建一个工程project 选择Java Project,单击next下一步 project命名为“学生成绩管理系统”,点击finish继续 右键src文件夹新建Package包,取名为te ...

随机推荐

  1. wordpress目录文件结构说明

    wordpress目录文件结构说明   wordpress目录文件结构说明. WordPress文件夹内,你会发现大量的代码文件和3个文件夹wp-admin wp-content wp-include ...

  2. 创建用资源管理器打开FTP位置

    FTP快捷方式默认用浏览器打开,而不是用资源管理器打开,管理文件不习惯. 解决方法1:创建桌面快捷方式 新建快捷方式,键入对象位置 %windir%\explorer.exe "ftp:// ...

  3. Android 三级联动选择城市+后台服务加载数据库

    技术渣,大家将就着看 首先我们需要一个xml数据保存到数据库,这里我从QQ下面找到一个loclist.xml文件 <CountryRegion Name="中国" Code= ...

  4. AutoCAD安装失败

    问题一: Installing .NET Framework Runtime 4.0: D:\安装包\CAD\cad2012(x64)\Map3D2012(x64)\3rdParty\NET\4\wc ...

  5. Maven学习链接

    别人的资料很多且写的很详细,我这里先收藏,等学习到一定阶段且有时间再整理自己的积累. 1.eclipse安装maven插件方法: http://blog.csdn.net/kittyboy0001/a ...

  6. 《Linux内核设计与实现》课本第四章自学笔记——20135203齐岳

    <Linux内核设计与实现>课本第四章自学笔记 进程调度 By20135203齐岳 4.1 多任务 多任务操作系统就是能同时并发的交互执行多个进程的操作系统.多任务操作系统使多个进程处于堵 ...

  7. 矩阵k次幂 采用三重循环

    #include<iostream> using namespace std; int main() { int n,k; ][],b[][],c[][]; while(cin>&g ...

  8. Windows Store App JavaScript 开发:WinJS库控件

    在介绍了如何使用标准的HTML控件以及WinJS库中提供的新控件之后,下面来着重介绍WinJS库中几种常用的控件. (1)ListView控件 在开发Windows应用商店应用时可以使用ListVie ...

  9. js 判断IE浏览器,包含IE6/7/8/9

    //判断IE6-9的版本,num可取值为6/7/8/9//若不给参数num,仅判断浏览器是否为IE,不判断版本 var isIE = function (num) { if(arguments.len ...

  10. java向Excel文件写入数据

    /*使用之前要记得导入第三的jar包这个是我之前使用的时候那别人的东西自己修改了一下 还没来得及好好地封装一下还望见谅,注释我感觉写的挺清楚的就在不进行解释代码了*/package com.zzp.E ...