题目:

一、测试要求:
     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. for 循环遍历数据动态渲染html

    本案例通过ajax动态获取数据,然后遍历出数据渲染html小心踩坑:因为有时候不注意,渲染页面的时候只能输出最后一个数据所以正确写法为下:如果AJAX数据请求成功的情况下: html <div ...

  2. Day2-I-Knight's Problem POJ - 3985

    You must have heard of the Knight's Tour problem. In that problem, a knight is placed on an empty ch ...

  3. 「CF286C」Main Sequence

    传送门 Luogu 解题思路 看到正负号相互抵消,很容易联想到括号匹配和栈. 但由于题目钦定了一些位置只能是负数,所以我们可以这样考虑: 把负数视为右括号,正数视为左括号,然后开一个栈,从右往左遍历, ...

  4. php 实现店铺装修4

    /** * @title 发布装修的店铺 * @example FlagShipShopDecorate.fabu? 调试参数:{"username":"17721355 ...

  5. 「React Native笔记」在React的 setState 中操作数组和对象的多种方法(合集)

    运用在React 中 setState的对象.数组的操作时是不能用类似array.push()等方法,因为push没有返回值,setState后会出现state变成Number,为了方便他人和自己查看 ...

  6. NSString 常见数据类型转换:转NSInteger , NSDate(互转)

    1. NSString转NSInteger, 转int (float, double类似 ) 1.1正常情况 , NSString所包含内容确能转化为int的类型 NSString *sNumber ...

  7. mysql产生随机数

     mysql产生随机数小结一下,可以为mysql的表生成大量的随机数: 1) 产生0到10000间的随机数    SELECT RAND() * 10000; 对应产生相应的整数    SELECT ...

  8. SciPy k均值聚类

    章节 SciPy 介绍 SciPy 安装 SciPy 基础功能 SciPy 特殊函数 SciPy k均值聚类 SciPy 常量 SciPy fftpack(傅里叶变换) SciPy 积分 SciPy ...

  9. LINQ---查询表达式的结构

    重要事项: 子句必须按照一定的顺序出现 from子句和select...group子句这两部分是必须的 其他子句是可选的 在LINQ查询表达式中,select子句在表达式最后. 可以后任意多的from ...

  10. Lua生成比较理想的随机数的方法

    lua需要生成随机数的需求也是很常见的,为了生成看起来更随机的数字,我们需要注意以下几点 我们也需要给随机数设置随机数种子:math.randomseed(xx) lua对随机数种子也是有一定要求的: ...