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. 协程及Python中的协程

    1 协程 1.1协程的概念 协程,又称微线程,纤程.英文名Coroutine.一句话说明什么是线程:协程是一种用户态的轻量级线程.(其实并没有说明白~) 我觉得单说协程,比较抽象,如果对线程有一定了解 ...

  2. Docker实践:python应用容器化

    一.前言 容器使用沙箱机制,互相隔离,优势在于让各个部署在容器的里的应用互不影响,独立运行,提供更高的安全性.本文主要介绍python应用(django)跑在docker容器里,编写dockerfil ...

  3. epoll的高效实现原理

    epoll的高效实现原理 原文地址:http://blog.chinaunix.net/space.php?uid=26423908&do=blog&id=3058905 开发高性能网 ...

  4. 通过webservice(System.Data.OracleClient)调试oracle

    环境:vs2008+webservice+net framework3.5+oracle10g 原因:在项目中运行web程序,默认是使用vs内置web服务器(develop server),而这个内置 ...

  5. [转]ionic3 实现android版本打包

    本文转自:https://blog.csdn.net/weixin_39461487/article/details/79387250?utm_source=blogxgwz0 版权声明:本文为博主原 ...

  6. SQL 游标的存储过程示例

    注意事项:两个小数运算的时候都是一种类型! USE [FoodMedicineExam] GO /****** Object: StoredProcedure [dbo].[P_DrugExamAna ...

  7. (转)分享一个技巧,利用批处理调用ruby脚本(可能你为路径苦恼)

    #关闭命令显示 @echo off #提示信息 echo Now,listing the controller,please not shutdown the DOS File! #切换到当前路径,. ...

  8. 性能监控(2)–linux下的vmstat命令

    vmstat它可以统计CPU.内存使用情况.swap使用情况等信息.它还可以指定采样周期和次数.

  9. 【代码笔记】Web-JavaScript-JavaScript 变量

    一,效果图. 二,代码. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  10. 【读书笔记】iOS-iPad与iPhone

    在开发通用型应用的时候,你总是需要记住,iPad并不是一个大大的iPod touch,为iPad开发的应用的界面应该更好地利用iPad的大屏幕,而不应该是iPhone应用的复制品. 参考资料:< ...