package zzzzzzzz;
import java.io.*;
//作者:凯鲁嘎吉 - 博客园
//http://www.cnblogs.com/kailugaji/
public class Text {
public static void main(String[] args) throws MyException, IOException {
Login l=new Login();
l.login();
}
}
class Student{
private String stunumber;
private String name;
private String age;
private String sex;
private String score;
public void set_stunumber(String stu){
stunumber=stu;
}
public String get_stunumber(){
return stunumber;
}
void set_name(String na){
name=na;
}
String get_name(){
return name;
}
void set_age(String agee){
age=agee;
}
String get_age(){
return age;
}
void set_sex(String sexx){
sex=sexx;
}
String get_sex(){
return sex;
}
void set_score(String scoree){
score=scoree;
}
String get_score(){
return score;
}
}
class StudentManager{
int n=0;
Student ss[]=new Student[50];
//遍历学生信息
void showStudent(){
for(int i=0;i<=n;i++){
System.out.println("学号:"+ss[i].get_stunumber()+"姓名:"+ss[i].get_name()+"年龄:"+ss[i].get_age()+"性别:"+ss[i].get_sex()+"分数:"+ss[i].get_score()+"\t\n");
}
}
//判断学号是否已经存在
boolean panduan(String st)
{
boolean flag=true;
for(int i=0;i<n;i++)
{
if(ss[i].get_stunumber().equals(st))
flag= false;
else
flag= true;
}
return flag;
}
//添加学生信息
void addStudent(String stunumber,String name,String age,String b,String score){
ss[n]=new Student();
ss[n].set_stunumber(stunumber);
ss[n].set_name(name);
ss[n].set_age(age);
ss[n].set_sex(b);
ss[n].set_score(score);
n++;
}
//删除学生信息
void deleteStudent(String stunumber) throws MyException{
for(int i=0;i<=n;i++){
if(ss[i].get_stunumber().equals(stunumber)){
System.out.println("学号为:"+stunumber+"的学生已被删除!");
if(n==1){
System.out.println("数组为空");
ss[0]=new Student();
}
else {
for(int j=i;j<=n;j++){
ss[j]=ss[j+1];
}
n--;
}
}
else{
throw new MyException("该学生不存在!");
}
}
}
//修改学生信息
void updateStudent(String stu1,String name,String age,String sex,String score) throws MyException{
for(int i=0;i<=n;i++){
if(ss[i].get_stunumber().equals(stu1)){
ss[i]=new Student();
ss[i].set_stunumber(stu1);
ss[i].set_name(name);
ss[i].set_age(age);
ss[i].set_sex(sex);
ss[i].set_score(score);
}
else
throw new MyException("没有找到该学生!");
}
}
//查询学生信息
void selectStudent(String number) throws MyException{
for(int i=0;i<=n;i++){
if(ss[i].get_stunumber().equals(number)){
System.out.println("学号:"+ss[i].get_stunumber()+"姓名:"+ss[i].get_name()+"年龄:"+ss[i].get_age()+"性别:"+ss[i].get_sex()+"分数:"+ss[i].get_score()+"\t\n");
}
else
throw new MyException("没有找到该学生!");
}
}
//统计不及格的人数
void tongji(){
int s=0;
for(int i=0;i<=n;i++){
int a=Integer.parseInt(ss[i].get_score());
if(a<=60){
s=s+1;
System.out.println("学号:"+ss[i].get_stunumber()+"姓名:"+ss[i].get_name()+"年龄:"+ss[i].get_age()+"性别:"+ss[i].get_sex()+"分数:"+ss[i].get_score()+"\t\n");
}
}
System.out.println("不及格的人数为:"+s+"人");
}
//输入界面
void showface(){
System.out.println("*****************************");
System.out.println("石家庄铁道大学学生信息管理系统");
System.out.println("*****************************");
System.out.println("1.遍历输出学生信息");
System.out.println("2.新学生信息录入");
System.out.println("3.删除学生信息");
System.out.println("4.修改学生信息");
System.out.println("5.查询学生信息");
System.out.println("6.学生信息统计");
System.out.println("7退出.");
}
}
class Login{
User users=new User("001","123456");//用户名,密码
//登录
void login() throws MyException, IOException{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
DataOutputStream out=new DataOutputStream(new BufferedOutputStream(new FileOutputStream("Student.txt",true)));
for(int i=1;i<=3;i++){
System.out.println("请输入用户ID:");
String id=in.readLine();
System.out.println("请输入密码:");
String pass=in.readLine();
if((users.uername.equals(id))&&(users.passage.equals(pass))){
StudentManager sm=new StudentManager();
while(true){
sm.showface();
System.out.println("请选择:");
String choose=in.readLine();
if(choose.startsWith("1")){
sm.showStudent();
}
else if(choose.startsWith("2")){
System.out.print("请输入学号:");
String stu=in.readLine();
System.out.print("请输入姓名:");
String name=in.readLine();
System.out.print("请输入年龄:");
String age=in.readLine();
System.out.println("请输入性别(true男,false女):");
String sex=in.readLine();
System.out.print("请输入分数:");
String score=in.readLine();
if(sm.panduan(stu)){
sm.addStudent(stu, name, age, sex, score);
System.out.println("创建成功!");
out.writeUTF("|学号:"+stu+"|姓名:"+name+"|年龄:"+age+"|性别:"+sex+"|分数:"+score+"|\t\t\n\n");
}
else
throw new MyException("该学生已存在,请勿重复添加");
}
else if(choose.startsWith("3")){
System.out.println("请输入学号:");
String stu=in.readLine();
if(!(sm.panduan(stu))){
sm.deleteStudent(stu);
}
else
throw new MyException("该学号不存在!");
}
else if(choose.startsWith("4")){
System.out.println("请输入学号:");
String stu=in.readLine();
System.out.println("请输入姓名:");
String name=in.readLine();
System.out.println("请输入年龄:");
String age=in.readLine();
System.out.print("请输入性别(true男,false女):");
String sex=in.readLine();
System.out.print("请输入分数:");
String score=in.readLine();
if(!(sm.panduan(stu))){
sm.updateStudent(stu, name, age, sex, score);
out.writeUTF("|学号:"+stu+"|姓名:"+name+"|年龄:"+age+"|性别:"+sex+"|分数:"+score+"|\t\n");
}
else
throw new MyException("该学号不存在!");
}
else if(choose.startsWith("5")){
System.out.println("请输入学号:");
String stu=in.readLine();
if(!(sm.panduan(stu))){
sm.selectStudent(stu);
}
else
throw new MyException("该学号不存在!");
}
else if(choose.startsWith("6")){
sm.tongji();
}
else if(choose.startsWith("7")){
in.close();
out.close();
System.exit(0);
}
else {
throw new MyException("选择错误,请重新选择");
}
}
}
else
System.out.println("用户ID或密码错误,请重新输入");
}
throw new MyException("该卡已锁定!");
}
}
class User{
String uername;
String passage;
User(String user,String pass){
this.uername=user;
this.passage=pass;
}
void set_uername(String use){
uername=use;
}
String get_uername(){
return uername;
}
void set_passage(String pass){
passage=pass;
}
String get_passage(){
return passage;
}
}
class MyException extends Exception{
public MyException(String e) {
super(e);
}
}

  

Java用户名登录学生信息管理系统并对其进行增删改查操作的更多相关文章

  1. AD 域服务简介(三)- Java 对 AD 域用户的增删改查操作

    博客地址:http://www.moonxy.com 关于AD 域服务器搭建及其使用,请参阅:AD 域服务简介(一) - 基于 LDAP 的 AD 域服务器搭建及其使用 Java 获取 AD 域用户, ...

  2. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(5)-EF增删改查by糟糕的代码

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(5)-EF增删改查by糟糕的代码 上一讲我们创建了一系列的解决方案,我们通过一个例子来看看层与层之间的关系 ...

  3. Java课程设计---学生信息管理系统需求分析及总体设计

    按照软件工程实践的原则,开发大型程序需要经历需求分析.总体设计.详细设计.编码实现.系统测试.系统维护等几个阶段. 1.需求分析 本阶段是整个软件开发过程中最重要的环节.通过了解实际运行的系统或与用户 ...

  4. JAVA课程设计-学生信息管理系统(个人博客)

    1. 团队课程设计博客链接 http://www.cnblogs.com/Min21/p/7064093.html 2.个人负责模块或任务说明 负责person类的编写,建立person对象, 完成M ...

  5. java+jsp+sqlserver实现简单的增删改查操作 连接数据库代码

    1,网站系统开发需要掌握的技术 (1)网页设计语言,html语言css语言等 (2)Java语言 (3)数据库 (4)等 2,源程序代码 (1) 连接数据库代码 package com.jaovo.m ...

  6. Java实现简单的增删改查操作

    需求分析:通过数组 ,完成 对学生信息的 管理 (增删改查)创建1个 学生类创建1个 CRUD的类 – 学生管理类 并测试 在这个程序中我只运用了两个类进行操作 package com.hopu.de ...

  7. java连接mysql以及增删改查操作

    java连接数据库的代码基本是固定的,步骤过程觉得繁琐些,代码记起来对我来说是闹挺.直接上代码: (温馨提醒:你的项目提前导入连接数据库的jar包才有的以下操作 ) class DBConnectio ...

  8. 【温故知新】Java web 开发(四)JSTL 与 JDBC 的增删改查

    本篇开始使用 jstl 这个 jsp 的标签库,在同一个 Servlet 中实现处理 CRUD 请求,以及使用 jdbc 数据库基本操作.然后你会发现 Servlet 和 jdbc 还是有很多不方便之 ...

  9. 权限管理系统之LayUI实现页面增删改查和弹出层交互

    由于对LayUI框架不太熟悉,昨天抽空看了下LayUI的文档,今天在网上找了使用LayUI进行增删改查相关内容,自己照葫芦画了个瓢,画瓢部分不是很难,主要是下午遇到了一个弹出层的问题耗时比较久. 同一 ...

随机推荐

  1. C语言第九讲,结构体

    C语言第九讲,结构体 一丶结构体的定义 在C语言中,可以使用结构体(Struct)来存放一组不同类型的数据.结构体的定义形式为: struct 结构体名{ 结构体所包含的变量或数组 }; 结构体是一种 ...

  2. JAVA开发者的Golang快速指南

    Golang作为Docker.Kubernetes和OpenShift等一些酷辣新技术的首选编程语言,越来越受欢迎.尤其它们都是开源的,很多情况下,开源是非常有价值的.深入学习阅Golang等源代码库 ...

  3. Jmeter - 测试 http 接口

    前言: 本文主要针对http接口进行测试,使用Jmeter工具实现. Jmter工具设计之初是用于做性能测试的,它在实现对各种接口的调用方面已经做的比较成熟,因此,本次直接使用Jmeter工具来完成对 ...

  4. C#基础 数据类型 类型转换

    本节主要讲解数据类型和各类型之间的转换,两点都是重点,难点在于各种转换的活学活用. 一   数据类型 (一)基本数据类型 1  值类型 (1)整形         int                ...

  5. MathJax: 让前端支持数学公式

    文章图片存储在GitHub,网速不佳的朋友,请看<MathJax:让前端支持数学公式> 或者 来我的技术小站 godbmw.com 1. 必须要说 1.1 开发背景 博主使用Vue开发的个 ...

  6. [转*译]Networking API Improvements in Windows 10

        在当今,以云优先,移动优先技术为宗旨的时代下,大多数Apps都至少有一些与web服务或网络上其他设备的集成.这些包括应用程序,它获取天气在线内容,新闻或体育比赛的分数,媒体或下载的播客,甚至对 ...

  7. 10个JavaScript难点

    译者按: 能够读懂这篇博客的JavaScript开发者,运气不会太差... 原文: 10 JavaScript concepts every Node.js programmer must maste ...

  8. 随机生成n个不重复的数,范围是2-32,并让其在新页面打开

    var n = 5 var timer; function suiji(){ var arr = [] // 循环生成n个随机数 for(var i=0;i<n;i++){ var num = ...

  9. sql server: left join 重复数据

    ---涂聚文 2017-9-28 SELECT VipExamMailProjectId,VipExamMailStaffID FROM VipExamMailRecord WHERE VipExam ...

  10. map标签

    map和area 标签配合img标签制作分区超链接效果 http://www.w3school.com.cn/tiy/t.asp?f=html_areamap