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. 【Java/MySql】使用JDBC访问MySql数据库的Maven工程

    下载链接:https://files.cnblogs.com/files/xiandedanteng/FindNotnullColumns20191102-1.rar pom.xml里写: <p ...

  2. php学习之单例模式

    <?php class Dog { private function __construct() { } //静态属性保存单例对象 static private $instance; stati ...

  3. 性能调优 | 如何通过性能调优突破 MySQL 数据库性能瓶颈?

    本文出自头条号老王谈运维,转载请说明出处. MySQL 数据库瓶颈对 DBA 程序员而言,是非常棘手的问题.要正确的优化SQL,我们需要快速定位能性的瓶颈点,也就是说快速找到我们SQL主要的开销在哪里 ...

  4. SQL-W3School-基础:SQL UPDATE 语句

    ylbtech-SQL-W3School-基础:SQL UPDATE 语句 1.返回顶部 1. Update 语句 Update 语句用于修改表中的数据. 语法: UPDATE 表名称 SET 列名称 ...

  5. linux里面源码安装imagemagick库

    在搞树莓派的时候想搞一下树莓派中摄像头获取图像之后传给安卓,安卓进行展示. 恰好用到了imagemagick这个库,我就像正常一样进行安装,sudo apt-get install Imagick 但 ...

  6. Kinect关节数据

    3 -0.118269 0.655295 1.7431 930.03 139.5962 -0.124249 0.506111 1.79473 926.387 239.42820 -0.122777 0 ...

  7. Ubuntu16.04安装vmware pro 15激活码

    VMware Workstation Pro 15 激活许可证UY758-0RXEQ-M81WP-8ZM7Z-Y3HDAVF750-4MX5Q-488DQ-9WZE9-ZY2D6UU54R-FVD91 ...

  8. 15 Flutter BottomNavigationBar自定义底部导航条 以及实现页面切换 以及模块化

    效果: /**  * Flutter  BottomNavigationBar 自定义底部导航条.以及实现页面切换:  * BottomNavigationBar是底部导航条,可以让我们定义底部Tab ...

  9. LVS+Keepalived小试牛刀

    一.ipvsadm命令1.基本命令操作1.1)添加规则 ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p timeout] [-M netm ...

  10. CSV文件规范及其Java解析方式

    Comma-separated values(CSV)文件规范见WIKIPEDIA:https://en.wikipedia.org/wiki/Comma-separated_values#RFC_4 ...