题目:

一、测试要求:
     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. 第3节 storm高级应用:1、上次课程回顾,今日课程大纲,storm下载地址、运行过程等

    上次课程内容回顾: ConcurrentHashMap是线程安全的,为什么多线程的时候还不好使,为什么还要加static关键字 1.storm的基本介绍:strom是twitter公司开源提供给apa ...

  2. Linux命令:date命令

    date命令作用:显示和设置系统的日期和时间 一.设置系统日期时间 格式:date [MMDDhhmm[[CC]YY][.ss]] 举例:将当前系统时间改为 2020年10月1日12点10分 # da ...

  3. 剑指 offer 树的子结构

    题目描述: 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构). 第一遍没写出来错误点:认为首先应该找到pRoot1等于pRoot2的节点,但是递归就是自己在不 ...

  4. sklearn中的多项式回归算法

    sklearn中的多项式回归算法 1.多项式回归法多项式回归的思路和线性回归的思路以及优化算法是一致的,它是在线性回归的基础上在原来的数据集维度特征上增加一些另外的多项式特征,使得原始数据集的维度增加 ...

  5. BUU re1

    先shift+F12定位到关键句 然后crtl+X查看函数的交叉调用 定位到该函数处 F5查看伪代码 插入一段re1 re2题中都遇到的技巧: 很多时候出现的数字是asc码,热键R可以把数字转化成字母 ...

  6. POJ 2253:Frogger 求每一条路径最大值里面的最小值

    Frogger Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 31490   Accepted: 10150 Descrip ...

  7. python merge、join、concat用法与区别

     由于合并变化较大,以后函数可能会修改,只给出一些例子作为参考 总结: merge.join 1.当没有索引时:merge.join为按照一定条件合并 2.当有索引.并按照索引合并时,得到结果为两者混 ...

  8. wx地址和腾讯地图

    如果只是要获取当前用户的经纬度和打开微信自带的地图 只需要 jsApiList: ["getLocation","openLocation"] // 先获得 w ...

  9. Day4 - D - Watchcow POJ - 2230

    Bessie's been appointed the new watch-cow for the farm. Every night, it's her job to walk across the ...

  10. Tornadao Cookie

    cookie的详细介绍.Tronado带签名的cookie原理.基于cookie实现用户验证 cookie详细介绍 cookie本质就是存于浏览器的 键值对. 特性: 每次http请求服务端的时候,都 ...