package 数组作业;
public class Student {
String stuName,stuSex;
int stuAge,stuSno;
}
package 数组作业;
public class opreate {
Student[] students = new Student[100];//创建一个放学生对象的数组
Student stu = new Student();
int index=0;
//主菜单
public void menu() {
System.out.println("简易版学生管理系统");
System.out.println("1.添加学生信息");
System.out.println("2.根据学号修改学生信息");
System.out.println("3.查看所有学生信息");
System.out.println("4.根据学号查看某一个学生信息");
System.out.println("5.根据性别查看同性别的所有学生");
System.out.println("6.根据学号删除某一个学生");
System.out.println("7.根据学号升序排序");
System.out.println("8.根据年龄降序排序");
System.out.println("9.退出");
System.out.println("请输入你的选择:");
}
//增加学生
public boolean addstu(Student stu) {
// for(int i = 0;i<students.length;i++) {
// if(students[i]==null) {
// students[i]=stu;
// return true;
// }
// }
// return false;
if(index!=students.length) {
students[index++]=stu;
return true;
}
return false;
}
//查看所有学生信息
public void show() {
for(Student stu:students) {
if(stu!=null) {
System.out.println(stu.stuName+stu.stuAge+stu.stuSex+stu.stuSno);
}else {
break;
}
}
}
//
//根据学号查看一个学生的信息
public Student queryStudentById(int sno) {
for(Student newstu : students) {
if(newstu!=null) {
if(newstu.stuSno==sno) {///判断当前学生的学号是否和待查询的学号一致
return newstu;
}
}else {
return null;
}
}
return null;
}
// 根据性别查看同性别的学生信息
public Student[] queryStudentBySex(String sex) {
//创建一个用于存储学生对象的数组
Student[] stuSex = new Student[index];
//循环遍历,查找同性别的学生,并将其添加到stuSex数组中
for(int i=0,j=0;i<index;i++) {
if(students[i].stuSex.equals(sex)) {
stuSex[j]= students[j];
j++;//表示同性别夫人学生数组的下标
}
}
return stuSex;
}
//根据学号删除某一个学生
public boolean deletStudentById(int sno) {
//遍历数组查找待删除的元素
for(int i =0;i<index;i++) {
//使用数组已存储的学生的学号和传入的学号判断是否相等
if(students[i].stuSno==sno) {
//找到待删除的元素,i为待删除的下标
for(int j= i;j<index;j++) {
//循环移动待删除元素后的元素,向前移动
students[j]=students[j+1];
}
index--;//待插入的下标前移
return true;
}
}
return false;
}
//根据学号修改学生信息
public boolean updateStudentById(Student stu) {
//遍历数组查找待修改的元素
for(int i =0;i<index;i++) {
//使用数组已存储的学生的学号和传入的学号判断是否相等
if(students[i].stuSno==stu.stuSno) {
//为当前元素重新赋值
students[i]=stu;
return true;
}
}
return false;
}
//根据学号升序排列
public void studentByIdDesc() {
for(int i=0;i<index-1;i++) {
for(int j=0;j<index-i-1;j++) {
if(students[j].stuSno>students[j+1].stuSno ){
Student temp = students[j];
students[j] = students[j+1];
students[j+1] = temp;
}
}
}
}
//根据年龄降序排列
public void studentByAgeDesc() {
for(int i=0;i<index-1;i++) {
for(int j=0;j<index-i-1;j++) {
if(students[j].stuAge<students[j+1].stuAge ){
Student temp = students[j];
students[j] = students[j+1];
students[j+1] = temp;
}
}
}
}
}
package 数组作业;
import java.util.Scanner;
public class test {
public static void main(String[] args) {
// TODO Auto-generated method stub
opreate stuOp = new opreate();
Scanner input = new Scanner(System.in);
while(true) {
stuOp.menu();
int answer = input.nextInt();
switch(answer){
case 1 :
for(int i=0;i<2;i++) {
System.out.println("请输入姓名");
String name = input.next();
System.out.println("请输入年龄");
int age = input.nextInt();
System.out.println("请输入性别");
String sex = input.next();
System.out.println("请输入学号");
int sno = input.nextInt();
//将输入的变量存入到Student对象中
Student stu = new Student();
//为对象的属性赋值
stu.stuName= name;
stu.stuAge = age;
stu.stuSex = sex;
stu.stuSno = sno;
//调用添加方法将student对象添加到数组中
boolean boo = stuOp.addstu(stu);
if(boo) {
System.out.println("添加成功");
}
}
stuOp.menu();
break;
case 2 :
System.out.println("请输入学号");
int no = input.nextInt();
//根据学号查找到待修改的学生对象
Student stu= stuOp.queryStudentById(no);
if(stu!=null) {
System.out.print("请输入新的姓名:");
String name = input.next();
System.out.print("请输入新的年龄:");
int age = input.nextInt();
System.out.print("请输入新的性别:");
String sex = input.next();
//重新设置stu对象的值
stu.stuName=name;
stu.stuAge=age;
stu.stuSex=sex;
//调用修改方法进行修改
boolean booo = stuOp.updateStudentById(stu);
if(booo) {
System.out.println("修改成功");
System.out.println(stu.stuAge+" "+stu.stuName+" "+stu.stuSex+" "+stu.stuSex);
}else {
System.out.println("修改失败");
}
}
stuOp.menu();
break;
case 3:
stuOp.show();
stuOp.menu();
break;
case 4:
System.out.println("请输入学号");
int newsno = input.nextInt();
Student stu1 = stuOp.queryStudentById(newsno) ;
if(stu1!=null) {
System.out.println(stu1.stuAge+stu1.stuName+stu1.stuSex+stu1.stuSno);
}else {
System.out.println("该学生不存在");
}
stuOp.menu();
break;
case 5:
System.out.print("请输入性别:");
String sex = input.next();
stuOp.queryStudentBySex(sex);
stuOp.show();
stuOp.menu();
break;
case 6:
System.out.println("请输入学号");
int nsno = input.nextInt();
boolean boo = stuOp.deletStudentById(nsno);
if(boo) {
System.out.println("删除成功");
stuOp.show();
}else {
System.out.println("删除失败");
}
stuOp.menu();
break;
case 7:
System.out.println("按学号降序排列");
stuOp.studentByIdDesc();
stuOp.show();
stuOp.menu();
break;
case 8:
System.out.println("按年龄降序排列");
stuOp.studentByAgeDesc();
stuOp.show();
stuOp.menu();
break;
case 9 :
System.out.println("谢谢你的使用");
stuOp.menu();
break;
default:
System.out.println("你输入的代码有误,请重新输入");
stuOp.menu();
break;
}
}
}
}
转载:https://blog.csdn.net/weixin_44285674/article/details/101843310
查看评论