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 ...
随机推荐
- Yii 读取CVS文件内容插入到数据库
这个方法和上次写的读取txt文件的方法基本上差不多,直接贴代码,需要的直接拿走 function ImportExcel(){ $file = fopen('test.csv','r'); //输出文 ...
- Jquery动态操作checkbox
问题的由来:html页面中使用checkbox给新建用户授权,然后提交到后台服务器,完成给用户授权.用户授权完成之后,如果用户的权限发生改变管理员需要修改多个用户的权限或查看某用户的权限,点击不同的用 ...
- python 汇总
TypeError: ReadExcelList() takes exactly 1 argument (2 given) 传入的参数有问题
- js Date 函数方法 和 移动端数字键盘调用
var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-???? ...
- monads-are-elephants(转)
介绍monads有点像互联网时代的家庭手工业.我想 “为什么要反对传统?”,但这篇文章将以Scala对待monads的方式来描述. 有个古老的寓言,讲述了几个瞎子第一次摸到大象.一个抱着大象的腿说:“ ...
- UIScrollView内容缩放
•有些时候,我们可能要对某些内容进行手势缩放,如下图所示 UIScrollView不仅能滚动显示大量内容,还能对其内容进行缩放处理 也就是说,要完成缩放功能的话,只需要将需要缩放的内容添加到UIScr ...
- 【PCB】电子元件封装大全及封装常识
电子元件封装大全及封装常识 电子元件封装大全及封装常识 一.什么叫封装封装,就是指把硅片上的电路管脚,用导线接引到外部接头处,以便与其它器件连接.封装形式是指安装半导体集成电路芯片用的外壳.它不仅起着 ...
- SharePoint 2010 + 左侧导航(Left Nav Bar)二级菜单的修改
SharePoint 2010 + 修改左侧导航类似顶部导航菜单的样式 查找aspmenu的控件,ID为“V4QuickLaunchMenu”,修改分别将属性“StaticDisplayLevels” ...
- 【67测试20161116】【数论】【DP】【思维】
第一题: LGTB 得到了一个序列,他想在这个序列中选择一个最长的连续子序列,使得这个子序列的最大公约数等于1.请告诉他他能得到的最大长度,如果没有这样的序列,输出-1. 对于50% 的数据,1 &l ...
- 使用Word发表博客
使用浏览器编辑博客,会让你感到非常不方便,如果在没有网络的时候,就不能打开编辑器页面了,只能先写在word或其他编辑软件中.可以设置word使用word编辑并直接发布到博客. 文件 - 新 ...