package Homework08;
/*调试了一上午,收获:学会了昨天的debug的使用
吸取教训:Student stus[]=new Student[2];
 for (int i=0;i<stus.length;i++){
 stus[i]=new Student();应该写在循环外面,否则每次都被初始化。
}*/

import java.util.Scanner;

public class Main {
 public static void main(String[]args){
  
  /**
   * 1:制作一个简单的学生信息管理系统,通过键盘选择操作进行添加学生(学号,姓名,性别,年龄,成绩)的信息,
   *   这些信息通过数组存储,
   * 2:可以进行查询某个或全体学生信息
   * 3:修改学生信息
   * 4:删除学生信息的操作。(要求有一定的优化,例如对用户输入信息是否符合要求的处理)。
   */
  Student stus[]=new Student[2];
   for (int i=0;i<stus.length;i++){
    stus[i]=new Student();
   }
    
  while(true){
   System.out.println("--------------------欢迎进入学生管理系统--------------------------");
   System.out.println("1:输入学生信息");
   System.out.println("2:修改学生信息");
   System.out.println("3:删除学生信息");
   System.out.println("4:查询学生信息");
   System.out.println("0:退出系统");
   System.out.println("-----------请输入选项----------------");
   
   
   Scanner scanner=new Scanner(System.in);
   int m=scanner.nextInt();
   
   
   int js;
  
  switch(m){
  //输入学生信息
  case 1:
   
  { //输入学生姓名
   int z=0;
   System.out.println("请您输入学生信息");
   System.out.println("请您输入学生姓名:");
   String name=scanner.next();
   stus[z].setName(name);
   //输入学生学号
   System.out.println("请您输入学生学号:");
   String stuNum=scanner.next();
   stus[z].setStuNum(stuNum);
   //输入学生性别
   System.out.println("请您输入学生性别:");
   String gender=scanner.next();
   stus[z].setGender(gender);
   //输入学生年龄
   System.out.println("请您输入学生年龄:");
   int age=scanner.nextInt();
   stus[z].setAge(age);
   
   //输入学生成绩
   System.out.println("请您输入学生成绩:");
   float score=scanner.nextFloat();
   stus[z].setScore(score);
   System.out.println("-----------------输入结束------------------");
   
   z++;}
   break;
   
  case 2:{
   boolean beep=false;//beep确定是否找到学生信息
   System.out.println("请您输入您要改变的学生的学号:");
   String stuNum4=scanner.next();
   for(int i=0;i<stus.length;i++){
    if(stuNum4.equals(stus[i].getStuNum())){
     //重新输入学生的姓名
     System.out.println("请您输入学生姓名");
     String name1=scanner.next();
     stus[i].setName(name1);
     //重新输入学生的学号
     System.out.println("请您输入学生学号");
     String stuNum1=scanner.next();
     stus[i].setStuNum(stuNum1);
     //重新输入学生的性别
     System.out.println("请您输入学生性别");
     String gender1=scanner.next();
     stus[i].setGender(gender1);
     //重新输入学生的年龄
     System.out.println("请您输入学生年龄");
     int age1=scanner.nextInt();
     stus[i].setAge(age1);
     //重新输入学生的成绩
     System.out.println("请您输入学生成绩");
     Float score1=scanner.nextFloat();
     stus[i].setScore(score1);
     System.out.println("----------修改完成--------------");
     beep=true;
     
     }
    }
    if(beep) {
     System.out.println("没有找到给学生信息,请重新定义");
    }
    
   }
   break;
  case 3:{
   boolean bo=false;//bo确定是否找到该学生信息
   int w=0;
   System.out.println("请您输入您要删除的学生的学号:");
   String stuNum2=scanner.next();
   for(int i=0;i<stus.length;i++)
   {if(stus[i].getStuNum().equals(stuNum2)){
    System.out.println("找到给学生,请说明是否删除。请输入是或否:");
    String sf=scanner.next();
    if (sf=="是"){
     /**
      * 把后一位的学生信息都放到前一个数组元素内
      */
     for (int j=i;j<stus.length-w;j++){
     stus[j]=stus[j+1];
     }
      for(int k=999;k>stus.length-w;k--){
       stus[k]=null;
      }
     bo=true;
    } 
      
    else if(sf=="否"){
     break;
    }
    
  }
  
   if(bo){
    System.out.println("您输入的数据有错误,请重新输入");
    break;
    } 
   }
  }  
   break; 
   //查询学生信息
   case 4:{
    boolean boo=false;
    System.out.println("请输入您要查询的学生的学号");
    String stuNum3=scanner.next();
    for(int i=0;i<stus.length;i++){
     if(stuNum3.equals(stus[i].getStuNum())){
      System.out.println("这位学生的姓名:" + stus[i].getName());
      System.out.println("这位学生的学号:"+stus[i].getStuNum());
      System.out.println("这位学生的性别:"+stus[i].getGender());
      System.out.println("这位学生的年龄:"+stus[i].getAge());
      System.out.println("这位学生的成绩:"+stus[i].getScore());
      }
    
     }
   }
    break;
    //退出系统
    case 0:{
     System.out.println("--------退出系统---------------");
     scanner.close();//scanner.close()表示输入关闭
     System.exit(0);//System.exit(0)表示系统关闭
     
    }
    
   } 
    
  
  
  }
  
  
 } 
}

package Homework08;
//创建一个学生Student类,包含属性和功能。
public class Student {
 //属性(学号,姓名,性别,年龄,分数)
 String stuNum;
 String name;
 String gender;
 int age;
 float score;
 
 //功能如下
 //输入学号
 public void setStuNum(String stuNum){
  this.stuNum=stuNum;
 }
 //输出学号
 public String getStuNum(){
  return stuNum;
 }
 
 //输入名字
 public void setName(String name){
  this.name=name;
 }
 //输出名字
 public String getName(){
  return name;
 }
 
 //输入性别
 public void setGender(String gender){
  this.gender=gender;
 }
 //输出性别
 public String getGender(){
  return gender;
 }
 //输入年龄
 public void setAge(int age){
  this.age=age;
 }
 //输出年龄
 public int getAge(){
  return age;
 }
 //输入分数
 public void setScore(float score){
  this.score=score;
 }
 //输出分数
 public float getScore(){
  return score;
 }

}

Java写学生管理系统的更多相关文章

  1. java构建学生管理系统(一)

    用java搭建学生管理系统,重要还是对数据库的操作,诸如增删改查等. 1.基本的功能: 老师完成对学生信息的查看和修改,完成对班级的信息的概览. 学生可以看自己的成绩和对自己信息的修改. 学生和老师有 ...

  2. Java+Mysql+学生管理系统

    最近正在学java和数据库,想起以前写的学生管理系统,都是从网上下载,敷衍了事.闲来无事,也就自己写了一个,不过功能实现的不是很多. 开发语言:java: 开发环境:Mysql, java: 开发工具 ...

  3. Java 小型学生管理系统心得

    这个学生管理系统相对来说比较简单,主要就是复习下java怎么连接数据库,然后你怎么来实现这个功能,我简单的说下思路吧. 首先你要构思好这个界面,他包括增删查改这些基本功能,然后你去分析这些功能都能怎么 ...

  4. Java 简化版学生管理系统(IO版)

    Student management system   学生管理系统IO版 详细知识点可参考一下几篇文章 常用API Java 之ArrayList集合及应用 Java 之IO流及应用 Compreh ...

  5. Java开发学生管理系统

    Java 学生管理系统 使用JDBC了链接本地MySQL 数据库,因此在没有建立好数据库的情况下没法成功运行 (数据库部分, Java界面部分, JDBC部分) 资源下载: http://downlo ...

  6. Java案例——学生管理系统

    简单完整的学生管理系统 学生类 public class Student { private String id; private String age; private String name; p ...

  7. java集合学生管理系统

    //student.java package com.sran.www; import java.util.Arrays; import java.util.Scanner; public class ...

  8. 如何用python做出老师看了都给满分的GUI学生管理系统毕设

    序 言 哈喽大家好鸭!我是小熊猫 最近有什么有趣的事情发生吗?快来说给我听听( •̀ ω •́ )✧表弟大学快毕业了,学了一个学期Python居然还不会写学生管理系统,真的给我丢脸啊,教他又不肯学,还 ...

  9. Java写一个简单学生管理系统

    其实作为一名Java的程序猿,无论你是初学也好,大神也罢,学生管理系统一直都是一个非常好的例子,初学者主要是用数组.List等等来写出一个简易的学生管理系统,二.牛逼一点的大神则用数据库+swing来 ...

随机推荐

  1. Python实现进度条的效果

    from itertools import cycle from time import sleep for frame in cycle(r'-\|/-\|/'): print('\r', fram ...

  2. Chrome浏览器报错:ERR_UNSAFE_PORT

    今天用Chrome浏览器打开一个页面发现报错了:ERR_UNSAFE_PORT. 所以,去搜了一下发现Chrome浏览器是默认一些端口号为非安全端口的. 遇到这个问题建议更换端口号或者更换浏览器打开. ...

  3. 循环引擎 greenlet 没有显式调度的微线程,换言之 协程

    小结: 1. micro-thread with no implicit scheduling; coroutines, in other words. 没有显式调度的微线程,换言之 协程 2. 一个 ...

  4. LC 981. Time Based Key-Value Store

    Create a timebased key-value store class TimeMap, that supports two operations. 1. set(string key, s ...

  5. SQL-W3School-高级:SQL 约束(Contraints)

    ylbtech-SQL-W3School-高级:SQL 约束(Contraints) 1.返回顶部 1. SQL 约束 约束用于限制加入表的数据的类型. 可以在创建表时规定约束(通过 CREATE T ...

  6. SQL-W3School-高级:SQL FULL JOIN 关键字

    ylbtech-SQL-W3School-高级:SQL FULL JOIN 关键字 1.返回顶部 1. SQL FULL JOIN 关键字 只要其中某个表存在匹配,FULL JOIN 关键字就会返回行 ...

  7. 使用linux flock文件锁实现任务锁定避免计划任务程序冲突

    格式:flock [-sxun][-w #] fd#flock [-sxon][-w #] file [-c] command选项-s, --shared: 获得一个共享锁 -x, --exclusi ...

  8. error_reporting函数引起的error_log配置失效的问题

    由于项目代码中大量使用了error_reporting(0);导致php.ini中的error_log失效,不记录错误日志, 导致调试起来非常不便,耗费大量的时间,所以在php.ini的配置中禁止掉e ...

  9. qwt

    一. 1.下载地址https://sourceforge.net/projects/qwt/ 2.注意:官方提供qt安装包creator都是用MSVC编译(包括mingW版)的,所以Creator的插 ...

  10. utgard OPC 主要功能简介

    度娘还行,尽管不好用,但所有的开发人员不懈努力地写博客,能得到很多东西! 这里向所有未谋面的博主们致敬! 搜了一堆OPC资料,在这里整理一下,用一个封装类来说明utgard的主要接口.使用了java自 ...