package Homework08;
/*调试了一上午,收获:学会了昨天的debug的使用
吸取教训:Student stus[]=new Student[2];
for (int i=0;i<stus.length;i++){
stus[i]=new Student();应该写在循环外面,否则每次都被初始化。
}*/
import java.util.Scanner;
public class Main {
public static void main(String[]args){
/**
* 1:制作一个简单的学生信息管理系统,通过键盘选择操作进行添加学生(学号,姓名,性别,年龄,成绩)的信息,
* 这些信息通过数组存储,
* 2:可以进行查询某个或全体学生信息
* 3:修改学生信息
* 4:删除学生信息的操作。(要求有一定的优化,例如对用户输入信息是否符合要求的处理)。
*/
Student stus[]=new Student[2];
for (int i=0;i<stus.length;i++){
stus[i]=new Student();
}
while(true){
System.out.println("--------------------欢迎进入学生管理系统--------------------------");
System.out.println("1:输入学生信息");
System.out.println("2:修改学生信息");
System.out.println("3:删除学生信息");
System.out.println("4:查询学生信息");
System.out.println("0:退出系统");
System.out.println("-----------请输入选项----------------");
Scanner scanner=new Scanner(System.in);
int m=scanner.nextInt();
int js;
switch(m){
//输入学生信息
case 1:
{ //输入学生姓名
int z=0;
System.out.println("请您输入学生信息");
System.out.println("请您输入学生姓名:");
String name=scanner.next();
stus[z].setName(name);
//输入学生学号
System.out.println("请您输入学生学号:");
String stuNum=scanner.next();
stus[z].setStuNum(stuNum);
//输入学生性别
System.out.println("请您输入学生性别:");
String gender=scanner.next();
stus[z].setGender(gender);
//输入学生年龄
System.out.println("请您输入学生年龄:");
int age=scanner.nextInt();
stus[z].setAge(age);
//输入学生成绩
System.out.println("请您输入学生成绩:");
float score=scanner.nextFloat();
stus[z].setScore(score);
System.out.println("-----------------输入结束------------------");
z++;}
break;
case 2:{
boolean beep=false;//beep确定是否找到学生信息
System.out.println("请您输入您要改变的学生的学号:");
String stuNum4=scanner.next();
for(int i=0;i<stus.length;i++){
if(stuNum4.equals(stus[i].getStuNum())){
//重新输入学生的姓名
System.out.println("请您输入学生姓名");
String name1=scanner.next();
stus[i].setName(name1);
//重新输入学生的学号
System.out.println("请您输入学生学号");
String stuNum1=scanner.next();
stus[i].setStuNum(stuNum1);
//重新输入学生的性别
System.out.println("请您输入学生性别");
String gender1=scanner.next();
stus[i].setGender(gender1);
//重新输入学生的年龄
System.out.println("请您输入学生年龄");
int age1=scanner.nextInt();
stus[i].setAge(age1);
//重新输入学生的成绩
System.out.println("请您输入学生成绩");
Float score1=scanner.nextFloat();
stus[i].setScore(score1);
System.out.println("----------修改完成--------------");
beep=true;
}
}
if(beep) {
System.out.println("没有找到给学生信息,请重新定义");
}
}
break;
case 3:{
boolean bo=false;//bo确定是否找到该学生信息
int w=0;
System.out.println("请您输入您要删除的学生的学号:");
String stuNum2=scanner.next();
for(int i=0;i<stus.length;i++)
{if(stus[i].getStuNum().equals(stuNum2)){
System.out.println("找到给学生,请说明是否删除。请输入是或否:");
String sf=scanner.next();
if (sf=="是"){
/**
* 把后一位的学生信息都放到前一个数组元素内
*/
for (int j=i;j<stus.length-w;j++){
stus[j]=stus[j+1];
}
for(int k=999;k>stus.length-w;k--){
stus[k]=null;
}
bo=true;
}
else if(sf=="否"){
break;
}
}
if(bo){
System.out.println("您输入的数据有错误,请重新输入");
break;
}
}
}
break;
//查询学生信息
case 4:{
boolean boo=false;
System.out.println("请输入您要查询的学生的学号");
String stuNum3=scanner.next();
for(int i=0;i<stus.length;i++){
if(stuNum3.equals(stus[i].getStuNum())){
System.out.println("这位学生的姓名:" + stus[i].getName());
System.out.println("这位学生的学号:"+stus[i].getStuNum());
System.out.println("这位学生的性别:"+stus[i].getGender());
System.out.println("这位学生的年龄:"+stus[i].getAge());
System.out.println("这位学生的成绩:"+stus[i].getScore());
}
}
}
break;
//退出系统
case 0:{
System.out.println("--------退出系统---------------");
scanner.close();//scanner.close()表示输入关闭
System.exit(0);//System.exit(0)表示系统关闭
}
}
}
}
}
package Homework08;
//创建一个学生Student类,包含属性和功能。
public class Student {
//属性(学号,姓名,性别,年龄,分数)
String stuNum;
String name;
String gender;
int age;
float score;
//功能如下
//输入学号
public void setStuNum(String stuNum){
this.stuNum=stuNum;
}
//输出学号
public String getStuNum(){
return stuNum;
}
//输入名字
public void setName(String name){
this.name=name;
}
//输出名字
public String getName(){
return name;
}
//输入性别
public void setGender(String gender){
this.gender=gender;
}
//输出性别
public String getGender(){
return gender;
}
//输入年龄
public void setAge(int age){
this.age=age;
}
//输出年龄
public int getAge(){
return age;
}
//输入分数
public void setScore(float score){
this.score=score;
}
//输出分数
public float getScore(){
return score;
}
}