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. SQL-W3School-高级:SQL 撤销索引、表以及数据库

    ylbtech-SQL-W3School-高级:SQL 撤销索引.表以及数据库 1.返回顶部 1. 通过使用 DROP 语句,可以轻松地删除索引.表和数据库. SQL DROP INDEX 语句 我们 ...

  2. Eclipse部署时项目中依赖的jar包不能部署到服务器WEB-IN下lib目录

    转: Eclipse部署时项目lib下jar包不能部署到服务器WEB-IN下lib目录及Eclipse下tomcat服务器配置修改 2018年04月07日 11:04:19 拾悦酒吧 阅读数 1046 ...

  3. c++ for_each

    #include<iostream>#include<algorithm>#include<vector>using namespace std; int main ...

  4. Linux -- 进程或线程独占CPU

    如果想让特定进程或线程独占某一或某些CPU,我们需要做三件事. 一,隔离CPU,避免其它线程run在被隔离的CPU上. 二,绑定所有的interrupts到非隔离的CPU上,避免被隔离的CPU收到in ...

  5. forge k8s/kubernetes ci/cd 最佳实践

    forge的官网是: http://forge.sh forge工具是一个部署工具, 将你的应用自动更新到kubernets集群中, 只需要配置简洁的配置文件和模板即可. 其它的就交给forge, 它 ...

  6. nginx虚拟主机添加

    1. 进入 /usr/local/nginx/conf/vhost 目录, 创建虚拟主机配置文件 wbs.test.com.conf ({域名}.conf). 2.打开配置文件, 添加服务如下: lo ...

  7. CockroachDB学习笔记——[译]The New Stack:遇见CockroachDB,一个弹性SQL数据库

    原文链接:https://www.cockroachlabs.com/blog/the-new-stack-meet-cockroachdb-the-resilient-sql-database/ 原 ...

  8. CentOS7.2环境下安装Nginx

    目录 1.下载安装包 2.安装nginx 3.配置nginx开机启动 4.测试 1.下载安装包 官网下载 wget http://nginx.org/download/nginx-1.16.0.tar ...

  9. java中如何在键盘中输入一串数字然后存入数组中?

    import java.util.Scanner; public class Tset { public static void main(String[] args) { System.out.pr ...

  10. 【gcd】辗转相除法

    #include<stdio.h> int gcd(int a, int b) { int c; while(b) { c = a % b; a = b; b = c; } return ...