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. Git 基本应用

    微信公众号:Java修炼指南博客园:https://home.cnblogs.com/u/wuyx/CSDN: https://mp.csdn.net/简书:https://www.jianshu.c ...

  2. Projects: Linux scalability: Accept() scalability on Linux 惊群效应

    小结: 1.不必要的唤醒 惊群效应 https://github.com/benoitc/gunicorn/issues/792#issuecomment-46718939 https://www.c ...

  3. CentOS7重启后resolv.conf被重置的解决方案

    近期在修改一台CentOS7服务器的dns时发现只要重启服务器DNS就会被强制还原,解决方案如下: 1.首先在网卡设置中修改NM_CONTROLLED的值: 修改文件/etc/sysconfig/ne ...

  4. 图像模糊C均值聚类分割代码

    转自:直觉模糊C均值聚类与图像阈值分割 - liyuefeilong的专栏 - CSDN博客 https://blog.csdn.net/liyuefeilong/article/details/43 ...

  5. centos7 mysql 启动mysqld.service - SYSV: MySQL database server错误

    1.启动命令 systemctl start mysqld.service 或者 /etc/init.d/mysqld start   结果同样的错误 2.错误是: Job for mysqld.se ...

  6. 003-jdk-数据结构-HashMap、HashTable、ConcurrentHashMap、TreeMap、LinkedHashMap、Set

    一.Map概述 Map:“键值”对映射的抽象接口.该映射不包括重复的键,一个键对应一个值. 1.1.HashTable[不常用] 基于“拉链法”实现的散列表. 底层数组+链表实现,无论key还是val ...

  7. Flex 弹性盒子布局使用教程

    本文转载于<https://blog.csdn.net/lyznice/article/details/53981062>

  8. Spark2.0协同过滤与ALS算法介绍

    ALS矩阵分解 一个 的打分矩阵 A 可以用两个小矩阵和的乘积来近似,描述一个人的喜好经常是在一个抽象的低维空间上进行的,并不需要把其喜欢的事物一一列出.再抽象一些,把人们的喜好和电影的特征都投到这个 ...

  9. 阶段5 3.微服务项目【学成在线】_day03 CMS页面管理开发_17-异常处理-可预知异常处理-异常处理测试

    ResultCode有很多的实现类 cmsCode有很多类型的错误异常 pgeService内当CmsPage这个对象为空的时候,异常类型就可以抛出CmsCode里面的错误代码 if(cmsPage1 ...

  10. Qt编写自定义控件22-蚂蚁线

    一.前言 关于蚂蚁线控件,相信很多用过PS的人都知道,在选中某个区域以后,边上的线条会有一种动态流动的效果,这种效果就叫做蚂蚁线,百科的解释是:动物的一种本能现象,领头的蚂蚁以随机的路线走向食物或洞穴 ...