Java用户名登录学生信息管理系统并对其进行增删改查操作
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用户名登录学生信息管理系统并对其进行增删改查操作的更多相关文章
- AD 域服务简介(三)- Java 对 AD 域用户的增删改查操作
博客地址:http://www.moonxy.com 关于AD 域服务器搭建及其使用,请参阅:AD 域服务简介(一) - 基于 LDAP 的 AD 域服务器搭建及其使用 Java 获取 AD 域用户, ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(5)-EF增删改查by糟糕的代码
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(5)-EF增删改查by糟糕的代码 上一讲我们创建了一系列的解决方案,我们通过一个例子来看看层与层之间的关系 ...
- Java课程设计---学生信息管理系统需求分析及总体设计
按照软件工程实践的原则,开发大型程序需要经历需求分析.总体设计.详细设计.编码实现.系统测试.系统维护等几个阶段. 1.需求分析 本阶段是整个软件开发过程中最重要的环节.通过了解实际运行的系统或与用户 ...
- JAVA课程设计-学生信息管理系统(个人博客)
1. 团队课程设计博客链接 http://www.cnblogs.com/Min21/p/7064093.html 2.个人负责模块或任务说明 负责person类的编写,建立person对象, 完成M ...
- java+jsp+sqlserver实现简单的增删改查操作 连接数据库代码
1,网站系统开发需要掌握的技术 (1)网页设计语言,html语言css语言等 (2)Java语言 (3)数据库 (4)等 2,源程序代码 (1) 连接数据库代码 package com.jaovo.m ...
- Java实现简单的增删改查操作
需求分析:通过数组 ,完成 对学生信息的 管理 (增删改查)创建1个 学生类创建1个 CRUD的类 – 学生管理类 并测试 在这个程序中我只运用了两个类进行操作 package com.hopu.de ...
- java连接mysql以及增删改查操作
java连接数据库的代码基本是固定的,步骤过程觉得繁琐些,代码记起来对我来说是闹挺.直接上代码: (温馨提醒:你的项目提前导入连接数据库的jar包才有的以下操作 ) class DBConnectio ...
- 【温故知新】Java web 开发(四)JSTL 与 JDBC 的增删改查
本篇开始使用 jstl 这个 jsp 的标签库,在同一个 Servlet 中实现处理 CRUD 请求,以及使用 jdbc 数据库基本操作.然后你会发现 Servlet 和 jdbc 还是有很多不方便之 ...
- 权限管理系统之LayUI实现页面增删改查和弹出层交互
由于对LayUI框架不太熟悉,昨天抽空看了下LayUI的文档,今天在网上找了使用LayUI进行增删改查相关内容,自己照葫芦画了个瓢,画瓢部分不是很难,主要是下午遇到了一个弹出层的问题耗时比较久. 同一 ...
随机推荐
- mybatis--Mapper 常见报错总结(持续总结)
本文版权归 远方的风lyh和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 1.The content of elements must consist of well-f ...
- Spring的Java配置方式—@Configuration和@Bean实现Java配置
Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置. 1.@Configuration 和 @BeanSpring的Java配置方式是通过 @Configuration 和 @Be ...
- 构建Docker Compose服务堆栈
1.安装了docker-compose,现在我们要使用docker-compose来运行容器栈.这个地方会有两个容器,一个容器中使用Flask搭建的简单应用,另一个容器是Redis,Flash会向re ...
- phpStorm使用技巧总结
工欲善其事,必先利其器. 拥有一个好的工具不仅可以事半功倍,而且也令人神清气爽. 在编辑器上,我所走过的路是这样的:notepad(对,就是最原始的WIN下的note) -> editplus ...
- Visual Studio 代码风格约束
团队内部若能统一代码风格对于日后的项目维护大有裨益,但面对厚达十几甚至几十页的代码风格规范,开发人员难免产生抵触心理.Python和Go等在语言层面就对代码风格作了一定的约束,但C#并没有,为解决这个 ...
- repository和repertory
在研究.net core的时候知道了仓储这个概念,并发现两个单词repository和repertory 两者都有仓库,储藏所,储藏的意思,repository还指知识渊博的人,repertory除了 ...
- Web前端基础——jQuery(三)
本文主要从以下几方面介绍jQuery应用中的内容: 1 jQuery 节点遍历2 jQuery 中的过滤器3 jQuery 属性操作4 jQuery Dom节点操作5 几个jQuery例子6 jQue ...
- 学Java的第17天。呃。。。今天有点奇葩
神奇的老师在网上看到狗跳楼的视频然后就想到抛物线问题: 还是 属性和方法的调用: package sklx; public class Dog{ private float v = 30.0f; pr ...
- CTO 之“六脉神剑”
他深谙电商之道,从零打造 1 号店网站及供应链系统,以技术引领业务发展.他是欧电云创始人韩军,下面将由他分享完美 CTO “六脉神剑”的经验之谈. 首先,从对 CTO 的一个认识误区讲起. 不写代码的 ...
- inheritPrototypeChain.js
// 原型链 // 其基本思路是利用原型让一个引用类型继承另一个引用类型的属性和方法 function Person(){ this.name = "Person"; } Pers ...