Java写学生管理系统

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;
 }

}

时间: 2024-10-26 16:39:12

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

Java+Mysql+学生管理系统

最近正在学java和数据库,想起以前写的学生管理系统,都是从网上下载,敷衍了事.闲来无事,也就自己写了一个,不过功能实现的不是很多. 开发语言:java: 开发环境:Mysql, java: 开发工具:eclipse 开发此案例,首先得在电脑上有java开发环境和Mysql, java开发环境与Mysql的搭建,就不再叙述了,如果需要,请联系我最下面的联系方式:[email protected] 此次系统比较简易:数据库中只有一个表:stu;功能:能够对学生增加.删除.修改. 开发步骤: 1.在

Java版本 学生管理系统

package BookDemo_1; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Test { public static void main(String[] args) { StudentSys stuSys=new StudentSys("学生管理系统"); stuSys.initWin(); } } class StudentSys extends JFrame{

java集合学生管理系统

//student.java package com.sran.www; import java.util.Arrays; import java.util.Scanner; public class Student implements Comparable<Student>{ int num; String name; int age; double[]s; double sum; //存储学生的总分 public Student() { s=new double[3]; } public

链表+文件 一个初学者实现学生管理系统的心得

其实,用链表与文件写学生管理系统内容可分为两大模块: 模块一:一个完整的创建.遍历.添加.删除.修改的链表: 模块二:读取/写入数据到文件. 模块一 一个链表,主要是malloc的正确使用. 定义一个带有结构指针的结构体,用malloc()动态开辟一个该结构体大小的内存用来作为节点,储存多个平行数据并且每动态开辟一个内存就要用这个内存里面的结构指针指向下一个开辟的内存(如果停止动态开辟内存,则需让这个指针指向NULL,作为Programmer都知道指针的潜在危险).这个节点数量需用循环控制.ma

学生管理系统初步总结

之前我们已经学过了windows窗体应用的一些基本控件.今天我们就用我们用我们所学的一些知识来写一写学生管理系统! 登录窗体 首先程序已启动我们所看到的就是登录窗体.它包括文本框.标签.和按钮.那么密码框是怎么实现的呢? 只需要将文本框的passwordchar属性该成任意但个字符那么这个文本框就会变成密码框并且该密码框中输入的字符会用您设定的字符代替如图所示: 将该属性的值设置为’●’那么您在密码框中输入的任意字符都会以’●’代替显示! 窗体的事件 按钮一般都会出发一些事件,而我们的这个项目中

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

其实作为一名Java的程序猿,无论你是初学也好,大神也罢,学生管理系统一直都是一个非常好的例子,初学者主要是用数组.List等等来写出一个简易的学生管理系统,二.牛逼一点的大神则用数据库+swing来做一个有界面的学生管理系统.其实都并不会太难. 今天我就先写一个简单的用List来实现学生管理系统: 首先,管理系统是针对学生对象的,所以我们先把学生对象就写出来: package bean; public class Student { String name; String studentId;

java写的一个简单学生管理系统[改进]

用Java写的一个简单学生管理系统 import java.util.*; public class student_cj {  public static void main(String[] args){      Scanner in=new Scanner(System.in);   System.out.print("请输入学生人数:");   int num=in.nextInt();//学生人数   String[] str=new String[num];//结合一行数

Java 图形界面开发--图文并茂建立学生管理系统

图形用户界面(Graphics User Interface,GUI)是用户与程序交互的窗口,比命令行的界面更加直观并且更好操作. 这是本人在学习java图形界面开发阶段一步一步实现的超级简易的学生管理系统.虽然说不入大神法眼,但这确实是费了自己不少心血.对于我这样的菜鸟来说,考虑不周到,一不小心就Exception,然后就是自己调呀调.在此分享出来希望对和我一样的菜鸟有帮助. 程序完整代码下载地址见: https://github.com/chaohuangtianjie994/The-Sys

JAVA入门到精通-第72讲-学生管理系统4-model 2模式(1)

删除.查询.添加.修改: -修改: 每个字段都可能修改: //给?赋值 //在prepareStatement语句后面赋值才好用 //修改完了,更新数据 目前为止,已经完成了增删改查-Model1模式 最大特点: 界面和业务逻辑操作是放在一起的: 优点:简单,开发方便: 缺点:代码复用性不高: 中大型项目可读性差,可维护性不高: 前台后端混杂在一起的: 比如:"数据库密码换了, 所有涉及到数据库的地方都需要发生变化" =================================