java学习之路——一个简单的学生管理系统

来源:互联网 发布:淘宝复制进入app技术 编辑:程序博客网 时间:2024/06/07 14:13

一个简单的学生管理系统。能输入学生的信息,能查找学生的信息和更改的学生的信息。

先写一个学生类

package com.icss.Student;

public class Student {
 private String name;//学生姓名
 private int id;  //学生ID
 public Student(String name, int id) {
  super();
  this.name = name;
  this.id = id;
 }
 public Student() {
  super();
 }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public int getId() {
  return id;
 }
 public void setId(int id) {
  this.id = id;
 }
 public void showInfo()//显示学生信息
 { 
  System.out.println("***************************");
  System.out.println("学生名:"+name+"\t学生ID"+id);
  System.out.println("***************************");
 }
}

 

再写出一个方法类。用来调用,修改学生信息。

package com.icss.Student;
import java.util.*;//导入Scanner类的包
public class Manage {
 Scanner input=new Scanner(System.in);
 int number=input.nextInt();//输入学生人数
Student []class1=new Student[number];//建立一个学生类的数组,保存每个学生的信息
 public Manage() {
  super();  
  for(int i=0;i<number;i++)
  {
   class1[i]=new Student();//将数组中的每个成员实例化
   System.out.println("请输入学生姓名");//输入学生信息和ID
   String name=input.next();
   class1[i].setName(name);
   System.out.println("请输入学生ID");
   int id=input.nextInt();
   class1[i].setId(id);
   
  }
 }
 public void showAll()//显示所有学生信息的方法
 {
  if(class1!=null)
  {
   for(Student s:class1)
   {
    s.showInfo();
   }
  }
 }
 public void  find()//查找学生信息的方法
 {
  System.out.println("请输入查找学生的名字");
  String name=input.next();
  int findFlag=0;//设置一个标志量,如果找到了标志量就为1.未找到仍为0.下同
  for(int i=0;i<number;i++)
  {
   if(name.equals(class1[i].getName()))
   {
    findFlag=1;
    class1[i].showInfo();
   }
   
  }
  if(findFlag==0)
  {
   System.out.println("没有找到该同学的信息");
  }
  
 }
 public void changeId()//修改学生ID的方法
 { 
  System.out.println("请输入查找学生的名字");
  String name=input.next();
  int findFlag=0;
  for(int i=0;i<number;i++)
  {
   if(name.equals(class1[i].getName()))
   {
    findFlag=1;
    System.out.println("请输入新ID");
    int id=input.nextInt();
    class1[i].setId(id);
   }
   
  }
  if(findFlag==0)
  {
   System.out.println("没有找到该同学的信息");
  }
 }
 public void changeName()//修改学生名字的方法
 {
  System.out.println("请输入查找学生的ID");
  int id=input.nextInt();
  int findFlag=0;
  for(int i=0;i<number;i++)
  {
   if(id==class1[i].getId())
   {
    findFlag=1;
    System.out.println("请输入更改后的名字");
    String name=input.next();
    class1[i].setName(name);
   }
   
  }
  if(findFlag==0)
  {
   System.out.println("没有找到该ID的信息");
  }
 }
 

}

最后建立一个Test类。进行测试。

package com.icss.Student;
import java.util.*;
public class Test {

 /**
  * @param args
  */
 public static void main(String[] args) {
  System.out.println("请输入班级人数");//在控制台输出 请输入班级人数
  Manage m=new Manage();//实例化m之后马上会输入班级人数,因为输出语句只能写在方法里面,所以只能用上面的输出达到效果。
  int i=-1;   //定义一个控制的变量,来让方便用户的操作和控循环
  while(i!=0)
  {
  System.out.println("请输入您要做的操作:\t1.显示全部信息\t2.输入名字查找学生信息\t3.更改学生ID\t4.更改学生名字\t0.退出系统");
  Scanner input=new Scanner(System.in);
  i=input.nextInt();
   switch(i)
   {
    case 1: m.showAll();break;
    case 2: m.find();break;
    case 3: m.changeId();break;
    case 4: m.changeName();break;
    case 0: break;//i==0.没操作。然后结束循环。
   }
  } 
 }

}


程序写好了。 来运行试试吧。

请输入班级人数
3
请输入学生姓名
张三
请输入学生ID
1
请输入学生姓名
李四
请输入学生ID
2
请输入学生姓名
周星驰
请输入学生ID
3
请输入您要做的操作: 1.显示全部信息 2.输入名字查找学生信息 3.更改学生ID 4.更改学生名字 0.退出系统
1
***************************
学生名:张三 学生ID:1
***************************
***************************
学生名:李四 学生ID:2
***************************
***************************
学生名:周星驰 学生ID:3
***************************
请输入您要做的操作: 1.显示全部信息 2.输入名字查找学生信息 3.更改学生ID 4.更改学生名字 0.退出系统
2
请输入查找学生的名字
周星驰
***************************
学生名:周星驰 学生ID:3
***************************
请输入您要做的操作: 1.显示全部信息 2.输入名字查找学生信息 3.更改学生ID 4.更改学生名字 0.退出系统
3
请输入查找学生的名字
周星驰
请输入新ID
9527
请输入您要做的操作: 1.显示全部信息 2.输入名字查找学生信息 3.更改学生ID 4.更改学生名字 0.退出系统
1
***************************
学生名:张三 学生ID:1
***************************
***************************
学生名:李四 学生ID:2
***************************
***************************
学生名:周星驰 学生ID:9527
***************************
请输入您要做的操作: 1.显示全部信息 2.输入名字查找学生信息 3.更改学生ID 4.更改学生名字 0.退出系统
0

基本上得到了想要的结果。

我用的是MYECLIPSE在运行的时候碰到一个很有意思的问题。不解中。。。

运行的时候学生名输入中文  需要在输入的时候换行,否则会出现错误或者异常。如果输入法一直英文就没有这种现象。如果要输入中文则输入前先换到输入字的下一行再输入才行。

问题:这个程序有个致命的问题,就是当你输入不符合要求的时候会报异常,暂时没有学过异常的处理。等学完以后再继续把这个项目做完整吧。

 

原创粉丝点击