JAVA 语法基础综合练习——学生成绩管理系统
- 代码如下:
package com.lovo.manager;- import java.util.Scanner;
- /**
- * 学生管理
- *
- * @author Administrator
- *
- */
- public class StudentManager {
- public static void main(String[] args) {
- String[] user = new String[10];
- int[] password = new int[10];
- while (true) {
- // 菜单
- System.out.println("A 注册");
- System.out.println("B 登录");
- System.out.println("C 退出");
- System.out.println("请选择菜单:");
- Scanner scan = new Scanner(System.in);
- String operator = scan.nextLine();
- operator = operator.toUpperCase();// 大小写互转
- // "SFCDS" 转换为一个一个的'S','F','C','D','S'
- char[] chr = operator.toCharArray();// 把字符串(String)转化为char数组
- switch (chr[0]) {
- case 'A':
- register(user, password);
- break;
- case 'B':
- login(user, password);
- break;
- case 'C':
- System.out.println("退出系统!");
- System.exit(-1);
- break;
- default:
- System.out.println("操作错误,请从新输入!");
- break;
- }
- }
- }
- /**
- * 登录
- */
- public static void login(String[] user, int[] password) {
- System.out.println("输入用户名:");
- Scanner input = new Scanner(System.in);
- String userName = input.nextLine();
- System.out.println("输入密码:");
- int pwd = input.nextInt();
- int index = -1;
- for (int i = 0; i < user.length; i++) {
- if (userName.equals(user[i]) && pwd == password[i]) {// 如果用户名与密码匹配
- System.out.println("登录成功!");
- studentMenu(userName);
- index = i;
- break;
- }
- }
- if (index == -1) {// 如果没有找到下标,则登录失败
- System.out.println("登录失败!");
- return;
- }
- }
- /**
- * 注册
- */
- public static void register(String[] user, int[] password) {
- System.out.println("请输入用户名");
- Scanner scan = new Scanner(System.in);
- String userName = scan.nextLine();
- System.out.println("请输入密码");
- int pwd = scan.nextInt();
- // 字符串中默认的数据是null,循环检查,一旦遇到null,
- // 就输入用户名和密码,把值赋值进去。
- for (int i = 0; i < user.length; i++) {
- if (user[i] == null) {
- user[i] = userName;
- password[i] = pwd;
- break;
- }
- }
- }
- /**
- * 学生菜单
- */
- public static void studentMenu(String user) {
- // 学生姓名与分数
- String[] studentName = new String[2];
- int[] score = new int[2];
- boolean flag = false;
- while (true) {
- System.out.println("***欢迎您" + user + "***");
- System.out.println("A 新增学生成绩");
- System.out.println("B 修改学生成绩");
- System.out.println("C 删除学生成绩");
- System.out.println("D 查询学生成绩");
- System.out.println("E 返回上级菜单");
- System.out.println("请选择菜单:");
- Scanner input = new Scanner(System.in);
- String operator = input.nextLine();
- operator = operator.toUpperCase();
- char op = operator.toCharArray()[0];
- switch (op) {
- case 'A':
- addInfo(studentName, score);
- break;
- case 'B':
- updateInfo(studentName, score);
- break;
- case 'C':
- deleteInfo(studentName, score);
- break;
- case 'D':
- queryInfo(studentName, score);
- break;
- case 'E':
- flag = true;
- break;// 退出这个switch,如果在while中不多增加一个break,则会继续循环不会返回上一级菜单
- default:
- System.out.println("操作错误,请从新输入!");
- break;
- }
- if (flag) {
- break;// 退出这个while,就返回到了登陆菜单
- }
- }
- }
- /**
- * 新增学生信息
- *
- * @param studentName
- * @param score
- */
- public static void addInfo(String[] studentName, int[] score) {
- for (int i = 0; i < studentName.length; i++) {
- System.out.println("请输入学生姓名:");
- Scanner scan = new Scanner(System.in);
- String stName = scan.nextLine();
- studentName[i] = stName;
- System.out.println("请输入学生成绩:");
- int scr = scan.nextInt();
- score[i] = scr;
- }
- }
- /**
- * 修改学生姓名
- */
- public static void updateInfo(String[] studentName, int[] score) {
- System.out.println("请输入学生姓名:");
- Scanner scan = new Scanner(System.in);
- String stName = scan.nextLine();
- // 通过名字修改分数
- int index = -1;
- for (int i = 0; i < score.length; i++) {// 通过遍历,输入的数与数组中的数据元素比较
- if (stName.equals(studentName[i])) {// 如果找到这个学生姓名,就记录下标
- index = i;
- }
- }
- // 输入一个分数
- System.out.println("请输入学生成绩:");
- int scr = scan.nextInt();
- score[index] = scr;// 把输入的成绩赋值给,index记录找到的这个 下标
- }
- /**
- * 删除员工数据
- */
- public static void deleteInfo(String[] studentName, int[] score) {
- // 删除人名、删除分数
- System.out.println("请输入学生姓名:");
- Scanner scan = new Scanner(System.in);
- String stName = scan.nextLine();
- boolean flag = false;
- for (int i = 0; i < studentName.length; i++) {
- if (studentName.length - 1 == i) { // 当前下标是最后一个的话,就退出循环
- studentName[i] = null;
- score[i] = 0;
- break;
- }
- if (stName.equals(studentName[i]) || flag) { // 如果发现这个名字,就用当前数组元素的下一个元素,向前移动替换当前这个元素
- flag = true;
- studentName[i] = studentName[i + 1];
- score[i] = score[i + 1];
- }
- }
- for (int i = 0; i < studentName.length; i++) {
- System.out.println("学生姓名=" + studentName[i] + ",成绩=" + score[i]);
- }
- }
- /**
- * 查询学生信息
- */
- public static void queryInfo(String[] studentName, int[] score) {
- boolean flag = false;
- while (true) {
- System.out.println("A 查询单个学生信息");
- System.out.println("B 查询所有学生信息");
- System.out.println("C 返回上级菜单");
- System.out.println("请选择菜单:");
- Scanner scan = new Scanner(System.in);
- String operator = scan.nextLine();
- operator = operator.toUpperCase();// 大小写互转
- char chr = operator.toCharArray()[0];
- switch (chr) {
- case 'A':
- querySinglStudentInfo(studentName, score);
- break;
- case 'B':
- queryAllStudentInfo(studentName, score);
- break;
- case 'C':
- flag = true;
- break;
- default:
- System.out.println("操作错误,请从新输入!");
- break;
- }
- if(flag) {
- break;
- }
- }
- }
- /**
- * 查询单个学生信息
- */
- public static void querySinglStudentInfo(String[] studentName, int[] score) {
- System.out.println("请输入学生姓名:");
- Scanner scan = new Scanner(System.in);
- String stName = scan.nextLine();
- for (int i = 0; i < studentName.length; i++) {
- if (stName.equals(studentName[i])) {
- System.out.println("学生:" + studentName[i] + ",成绩:" + score[i]);
- break;
- }
- }
- }
- /**
- * 查询所有学生信息
- */
- public static void queryAllStudentInfo(String[] studentName, int[] score) {
- for (int i = 0; i < studentName.length; i++) {
- System.out.println("学生:" + studentName[i] + ",成绩:" + score[i]);
- }
- }
- }
JAVA 语法基础综合练习——学生成绩管理系统的更多相关文章
- Java项目:学生成绩管理系统(二)
学生成绩管理系统(二):项目介绍 一.设计要求: 1.1 简单的图形界面登录功能. 1.2 对数据库的的信息的查询功能. 1.3 对数据库的的信息的修改功能. 1.4 对数据库的的信息的删除功能. 1 ...
- 学生成绩管理系统 1.0(Java+MySql)
真难…… 数据库建立不会,中文编码不会,插入数据不会,删除不会…… Java读入数据不会……数据库连接不会…… 你也好意思说自己是学计算机的啊魂淡…… 我会慢慢写2.0,3.0版的……噗…… src/ ...
- 使用Java模拟一个简单的Dos学生成绩管理系统:
使用Java模拟学生成绩管理系统... ------------------- 学生成绩管理系统:需要实现的功能:1.录入学生的姓名和成绩2.显示列表.列表中包括学生姓名与成绩3.显示最高分.最低分的 ...
- Java课程设计—学生成绩管理系统(201521123005 杨雪莹)
一.团队课程设计博客链接 学生成绩管理系统 二.个人负责模块或任务说明 学生成绩录入 显示所有学生信息 显示各科平均成绩 显示学生成绩(按降序排序) 三.自己的代码提交记录截图 四.自己负责模块或任务 ...
- Java课程设计——学生成绩管理系统(201521123003 董美凤)
Java课程设计--学生成绩管理系统(201521123003 董美凤) 1.团队课程设计博客链接 学生成绩管理系统博客链接 2.个人负责模块或任务说明 信息修改 密码修改 部分界面设计 3.自己的代 ...
- Java开学测试-学生成绩管理系统
题目: 1.定义 ScoreInformation 类,其中包括七个私有变量(stunumber, name, mathematicsscore, englishiscore,networkscore ...
- java简单学生成绩管理系统
题目要求: 一. 数据结构要求:(5 分) 1.定义 ScoreInformation 类,其中包括七个私有变量(stunumber, name, mathematicsscore, englishi ...
- java学生成绩管理系统
信1805-1 20183590 田庆辉 石家庄铁道大学 2019 年秋季 ...
- 学生成绩管理系统-JAVA语言测试
首先右键新建一个工程project 选择Java Project,单击next下一步 project命名为“学生成绩管理系统”,点击finish继续 右键src文件夹新建Package包,取名为te ...
随机推荐
- wordpress目录文件结构说明
wordpress目录文件结构说明 wordpress目录文件结构说明. WordPress文件夹内,你会发现大量的代码文件和3个文件夹wp-admin wp-content wp-include ...
- 创建用资源管理器打开FTP位置
FTP快捷方式默认用浏览器打开,而不是用资源管理器打开,管理文件不习惯. 解决方法1:创建桌面快捷方式 新建快捷方式,键入对象位置 %windir%\explorer.exe "ftp:// ...
- Android 三级联动选择城市+后台服务加载数据库
技术渣,大家将就着看 首先我们需要一个xml数据保存到数据库,这里我从QQ下面找到一个loclist.xml文件 <CountryRegion Name="中国" Code= ...
- AutoCAD安装失败
问题一: Installing .NET Framework Runtime 4.0: D:\安装包\CAD\cad2012(x64)\Map3D2012(x64)\3rdParty\NET\4\wc ...
- Maven学习链接
别人的资料很多且写的很详细,我这里先收藏,等学习到一定阶段且有时间再整理自己的积累. 1.eclipse安装maven插件方法: http://blog.csdn.net/kittyboy0001/a ...
- 《Linux内核设计与实现》课本第四章自学笔记——20135203齐岳
<Linux内核设计与实现>课本第四章自学笔记 进程调度 By20135203齐岳 4.1 多任务 多任务操作系统就是能同时并发的交互执行多个进程的操作系统.多任务操作系统使多个进程处于堵 ...
- 矩阵k次幂 采用三重循环
#include<iostream> using namespace std; int main() { int n,k; ][],b[][],c[][]; while(cin>&g ...
- Windows Store App JavaScript 开发:WinJS库控件
在介绍了如何使用标准的HTML控件以及WinJS库中提供的新控件之后,下面来着重介绍WinJS库中几种常用的控件. (1)ListView控件 在开发Windows应用商店应用时可以使用ListVie ...
- js 判断IE浏览器,包含IE6/7/8/9
//判断IE6-9的版本,num可取值为6/7/8/9//若不给参数num,仅判断浏览器是否为IE,不判断版本 var isIE = function (num) { if(arguments.len ...
- java向Excel文件写入数据
/*使用之前要记得导入第三的jar包这个是我之前使用的时候那别人的东西自己修改了一下 还没来得及好好地封装一下还望见谅,注释我感觉写的挺清楚的就在不进行解释代码了*/package com.zzp.E ...