题目:

一、测试要求:
     1、按照测试内容要求完成程序的设计与编程;
     2、将最终结果的源文件(.java)文件上传到以班级为单位,保存源程序。
     3、建立学号姓名文件夹,如:“20170001 管学生”,将源程序文件保存在文件夹中。
二、实验内容:
     1、定义 student 类,其中包括五个私有变量(stunumber,name,age,sex,score)。
          各成员的含义如下:
                                变量 stunumber 为字符串类型 String,用于存储学生的学号(有 8 位数字组成)。
                                变量 name 为字符串类型 String,用于存储学生的姓名。
                                变量 age 为 int 类型,用于存储学生的年龄。
                                变量 sex 为 boolean 类型,用于存储学生的性别,男生为 false,女生为true。变量 score 为 double 类型,用于存储学生的成绩。
          并对每个变量定义 get()(读取变量信息)和 set()(设置变量信息)的方法。赋初值方法包括五个参数,用于为变量(stunumber ,name,age,sex 和score)赋值。
2、定义 StudentManager 类实现下列要求。
  (1)利用数组实现至少存储五个学生的信息;(将考生信息作为第一条记录)。
  (2)定义 showStudent()方法打印输出所有的学生信息;
  (3)定义 addStudent (stunumber,name,age,sex,score)方法增加一名新学生的信息,需要判断学号是否重复,如果重复提示用户,并禁止增加新学生信息;
  (4)定义 deleteStudent(stunumber)方法删除一名学生信息(将该学生所有信息清空);
  (5)定义 updateStudent (stunumber,name,age,sex,score)方法修改学生信息;
  (6)定义 selectStudent(stunumber)查询并且输出该名学生的全部信息。
  (7)定义一个输入界面如下图所示,选择相应的数字执行相应的功能
***************************************************************
                ---------信息科学与技术学院
                    学生信息管理系统 v2.0
****************************************************************
1、 遍历输出学生信息;
2、 新学生信息录入;
3、 删除学生信息;
4、 修改学生信息;
5、 查询学生信息;
****************************************************************
 学生类:

public class Student {
String stunumber;
String name;
int age;
boolean sex;
double score;
public String getStunumber() {
return stunumber;
}
public void setStunumber(String stunumber) {
this.stunumber = stunumber;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public boolean isSex() {
return sex;
}
public void setSex(boolean sex) {
this.sex = sex;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
Student(String stunumber,String name,int age,boolean sex,double score)
{
this.stunumber=stunumber;
this.name = name;
this.age = age;
this.sex = sex;
this.score = score;
}
}

管理学生类:

//import java.util.*;
import java.util.Scanner;
public class StudentManager { static int sum=0;
static Scanner sc = null;
static Student[] a = new Student[1000]; public static int systemMenu() {
sc = new Scanner(System.in);
System.out.println("*************************************************************** \n" +
" -------大学信息科学与技术学院 \n" +
" 学生信息管理系统 v2.0 \n" +
"**************************************************************** \n" +
" 1、 遍历输出学生信息; \n" +
" 2、 新学生信息录入; \n" +
" 3、 删除学生信息; \n" +
" 4、 修改学生信息; \n" +
" 5、 查询学生信息; \n" +
"****************************************************************");
int ch;
System.out.println("请选择:");
ch = sc.nextInt();
return ch;
} public static void showStudent(){
int i,f=0;
for(i = 0 ;i < sum ;i++){
if(a[i].stunumber == null) {
f++;
continue;
}
System.out.println("第"+(i+1-f)+"名学生的学号为:"+a[i].stunumber);
System.out.println("第"+(i+1-f)+"名学生的姓名为:"+a[i].name);
if(a[i].isSex())
System.out.println("第"+(i+1-f)+"名学生的性别为:女");
else
System.out.println("第"+(i+1-f)+"名学生的性别为:男");
System.out.println("第"+(i+1-f)+"名学生的年龄为:"+a[i].age);
System.out.println("第"+(i+1-f)+"名学生的成绩为:"+a[i].score);
}
sum=sum-f;
} public static void addStudent(String stunumber,String name,int age,boolean sex,double score){ int k;
for(k=0;k<sum;k++) {
if( a[k].stunumber == stunumber ) {
System.out.println("您输入的学号与之前有重复,请检查后重新输入");
return;
}
} a[sum] = new Student(stunumber,name,age,sex,score); sum++;
} public static void fristInput() {
int i=0;
System.out.println("请问是否继续初始创建,是请输入:1,否请输入:0");
i = sc.nextInt();
String stunumber;
String name;
int age;
boolean sex;
double score;
while(i == 1) {
stunumber = sc.next();
name = sc.next();
age = sc.nextInt();
sex = sc.nextBoolean();
score = sc.nextDouble();
StudentManager.addStudent(stunumber,name,age,sex,score); System.out.println("请问是否继续初始创建,是请输入:1,否请输入:0");
i = sc.nextInt();
} } public static void deleteStudent(String stunumber){
int k;
for(k=0;k<sum;k++) {
if(a[k].stunumber.compareTo(stunumber)==0) {
a[k].stunumber = null;
a[k].name = null;
a[k].age = 0;
a[k].score = 0.0;
}
}
} public static void updateStudent(String stunumber,String name,int age,boolean sex,double score) {
int k;
for(k=0;k<sum;k++) {
if(a[k].stunumber.compareTo(stunumber)==0) {
a[k].stunumber = stunumber;
a[k].name = name;
a[k].age = age;
a[k].sex = sex;
a[k].score = score;
}
}
} public static void selectStudent(String stunumber){
int k;
for(k=0;k<sum;k++) { if( a[k].stunumber.compareTo(stunumber)==0 ) {
System.out.println("您要查询的名学生的学号为:"+a[k].stunumber);
System.out.println("此学生的姓名为:"+a[k].name);
if(a[k].isSex())
System.out.println("此学生的性别为:女");
else
System.out.println("此学生的性别为:男");
System.out.println("此学生的年龄为:"+a[k].age);
System.out.println("此学生的成绩为:"+a[k].score);
return;
}
}
System.out.println("没有学号为:"+stunumber+"的学生");
} public static void main(String[] args){ sc = new Scanner(System.in);
int choose,k1;
String stunumber;
String name;
int age;
boolean sex;
double score;
System.out.println("现在是初始创建五名学生信息,请输入学生信息(格式:学号 姓名 年龄 性别 成绩):");
for(k1=0;k1<5;k1++) {
stunumber = sc.next();
name = sc.next();
age = sc.nextInt();
sex = sc.nextBoolean();
score = sc.nextDouble();
StudentManager.addStudent(stunumber,name,age,sex,score);
}
sum=5;
fristInput();
choose = systemMenu();
while(choose<=5&&choose>=1) { switch (choose) {
case 1:
StudentManager.showStudent();
break;
case 2:
int n,i,s=0;
System.out.println("请输入添加学生信息的个数:");
n = sc.nextInt();
s=sum+n;
for(i=sum;i<s;i++) {
stunumber = sc.next();
name = sc.next();
age = sc.nextInt();
sex = sc.nextBoolean();
score = sc.nextDouble();
StudentManager.addStudent(stunumber,name,age,sex,score);
}
break;
case 3:
stunumber = sc.next();
StudentManager.deleteStudent(stunumber);
break;
case 4:
stunumber = sc.next();
name = sc.next();
age = sc.nextInt();
sex = sc.nextBoolean();
score = sc.nextDouble();
StudentManager.updateStudent(stunumber,name,age,sex,score);
break;
case 5:
stunumber = sc.next();
StudentManager.selectStudent(stunumber);
break; } choose = systemMenu(); }
}
}
 
 
 

java 学生信息管理的更多相关文章

  1. 098 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 02 案例分析及实现 02 编写并测试Subject类

    098 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 02 案例分析及实现 02 编写并测试Subject类 本文知识点:编写并测试Subject类 说明: ...

  2. 099 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 02 案例分析及实现 03 编写并测试Student类

    099 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 02 案例分析及实现 03 编写并测试Student类 本文知识点:编写并测试Subject类 说明: ...

  3. 101 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 02 案例分析及实现 05 通过方法实现学生类与专业类关联——方案二

    101 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 02 案例分析及实现 05 通过方法实现学生类与专业类关联--方案二 本文知识点:通过方法实现学生类与 ...

  4. Java学生管理系统项目案例

    这是一个不错的Java学生管理系统项目案例,希望能够帮到大家的学习吧. 分代码如下 package com.student.util; import java.sql.Connection; impo ...

  5. 【学员管理系统】0x02 学生信息管理功能

    [学员管理系统]0x02 学生信息管理功能 写在前面 项目详细需求参见:Django项目之[学员管理系统] Django框架大致处理流程 捋一下Django框架相关的内容: 浏览器输入URL到页面展示 ...

  6. Laravel之简单的学生信息管理平台

    laravel框架写的简易版的学生信息管理平台,贯穿了laravel的控制器.视图.模板.模型.中间件.路由规则的使用. 页面是使用BootStrap前端框架搭建 使用laravel实现了增删改查的功 ...

  7. vue实现简单学生信息管理案例

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. JAVA学生宿舍管理系统

    转: JAVA学生宿舍管理系统 需要的工具 1.SQL Server 2.Eclipse 3.JDBC连接数据库驱动 https://download.microsoft.com/download/A ...

  9. Java学生成绩

    import java.util.*; public class guanlixiton { public static void main(String[] args) { Scanner in = ...

随机推荐

  1. vue小程序ref和v-for结合使用得到ref数组的一些问题

    项目中需要对每一个民宿里的每一个房间都需要popup弹出层来介绍每一个房间,房间数据都在一个接口(此民宿)上. 主要代码如下: HTML: <view v-for='(item,index) i ...

  2. git log format

    默认git log 出来的格式并不是特别直观,很多时候想要更简便的输出更多或者更少的信息,这里列出几个git log的format. 可以根据自己的需要定制. git log命令可一接受一个--pre ...

  3. 第3节 sqoop:7、通过java代码远程连接linux执行shell命令

    数据库的数据同步软件sqoop 数据同步 关系型数据库到大数据平台 任务:sqoop 是批量导入数据太慢,如何做到实时的数据同步 实时的数据同步工具: canal 阿里开源的一个数据库数据实时同步的软 ...

  4. JS浮点数的研究

    为什么0.1 + 0.2 得到的是 0.30000000000000004 console.log( 0.1 + 0.2 == 0.3);//false 在js中所有的整数和小数都是以Number形式 ...

  5. 008.CI4框架CodeIgniter, Controller控制器传输参数到View视图

    01. 在CI4中输出VIEW视图,并且传入参数,代码如下: <?php namespace App\Controllers; class Home extends BaseController ...

  6. angularJS MVC及$scope作用域

  7. android studio 入门坑

    安装 android studio,碰到下面这个图片,直接跳过. 安装时候,选择自定义设置,里面可以配置 sdk 的存放位置. 新建工程后,gradle sync 比较慢,可以 修改工程中的 buil ...

  8. Spring AOP 管理事务

    <aop:config proxy-target-class="true"> <aop:pointcut expression="execution(* ...

  9. POJ 1151:Atlantis 线段树+扫描线

    Atlantis Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 19374   Accepted: 7358 Descrip ...

  10. redmine处理规范

         开发: 1.       研发人员负责更新到的状态共有三个:  “进行中”. ”已解决”. ”需要反馈”. 2.       在开始修复bug的时候,把状态更新为”进行中”,把title更新 ...