import java.util.*;
public class Test2{
static Student[] data ={
new Student("张三",20,'男',59),
new Student("李四",22,'男',83),
new Student("王五",21,'女',31),
new Student("赵六",29,'女',99),
new Student("韩七",25,'女',63)
};
static Scanner sc= new Scanner(System.in);
public static void main(String[] args){
while(true){
System.out.println("A:按分数升序排序");
System.out.println("B:按分数降序排序");
System.out.println("C:添加学生信息");
System.out.println("D:删除学生信息");
System.out.println("E:修改学生信息");
System.out.println("F:结束所有操作");
String str=sc.next();
if(str.equals("A")){
//升序排序
chooseA();
}else if(str.equals("B")){
//降序排序
chooseB();
showAll();
}else if(str.equals("C")){
//添加学生信息
chooseC();
showAll();
}else if(str.equals("D")){
//删除学生信息
chooseD();
}else if(str.equals("E")){
//修改学生信息
chooseE();
}else if(str.equals("F")){
//结束所有操作
break;
}
}
}
public static void chooseA(){
//升序排序
for(int i=0;i<data.length-1;i++){
for(int j=0;j<data.length-1;j++){
if(data[j].getScore()>data[j+1].getScore()){
Student g;
g=data[j];
data[j]=data[j+1];
data[j+1]=g;
}
}
}
showAll();
}
public static void chooseB(){
//降序排序
for(int i=0;i<data.length-1;i++){
for(int j=0;j<data.length-1;j++){
if(data[j].getScore()<data[j+1].getScore()){
Student g;
g=data[j];
data[j]=data[j+1];
data[j+1]=g;
}
}
}
}
public static int showAll(){
//打印
System.out.println("编码 姓名 年龄 性别 分数");
int id=0;
for(Student x:data){
System.out.println(id++ +" "+x.getName()+" "+x.getAge()+" "+x.getGender()+" "+x.getScore());
}
return id-1;
}
public static void chooseC(){
System.out.println("请输入学生姓名:");
String name=sc.next();
System.out.println("请输入学生年龄:");
int age = sc.nextInt();
char sex='a';
boolean a=true;
while(a){
System.out.println("请输入学生性别[A:男 B:女]:");
String AorB=sc.next();
if(AorB.equals("A")){
sex='男';
a=false;
}else if(AorB.equals("B")){
sex='女';
a=false;
}else {
System.out.println("性别添加失败,请重新添加");
}
}
System.out.println("请输入学生分数:");
int score=sc.nextInt();
Student stu=new Student(name,age,sex,score);
if(isHaving(stu)){
System.out.println("添加失败");
}else{
data=Arrays.copyOf(data,data.length+1);
data[data.length-1]=stu;
System.out.println("添加成功");
}
/*int count=0;
for(Student x:data){
if(x.getName().equals(stu.getName())&&x.getAge()==stu.getAge()
&&x.getGender()==stu.getGender()&&x.getScore()==stu.getScore()){
System.out.println("添加失败");
count++;
}
}
if(count==0){
Student[] temp=Arrays.copyOf(data,data.length+1);
temp[temp.length-1]=stu;
data=temp;
System.out.println("添加成功");
}*/
}
public static boolean isHaving(Student stu){
for(Student x:data){
if(x.getName().equals(stu.getName())&&x.getAge()==stu.getAge()
&&x.getGender()==stu.getGender()&&x.getScore()==stu.getScore()){
return true;
}
}
return false;
}
public static void chooseD(){
int id=showAll();
System.out.println("请输入你需要删除学生的编码");
int a=sc.nextInt();
if(a>id||a<0){
System.out.println("删除失败,学生不存在");
}else{
System.arraycopy(data,a+1,data,a,id-a);
data=Arrays.copyOf(data,data.length-1);
System.out.println("删除成功");
}
showAll();
}
public static void chooseE(){
int bm=showAll();
System.out.println("请输入你需要修改学生的编码:");
int a=sc.nextInt();
if(a>bm||a<0){System.out.println("修改失败,编码不存在");}
else{
System.out.println("修改前的姓名:"+data[a].getName());
System.out.print("修改后的姓名:");
String name=sc.next();
System.out.println("修改前的年龄:"+data[a].getAge());
System.out.print("修改后的年龄:");
int age=sc.nextInt();
char sex='a';
boolean pd=true;
while(pd){
System.out.println("修改前的性别:"+data[a].getGender());
System.out.print("请输入你要修改的性别:[A:男 B:女]:");
String AorB=sc.next();
if(AorB.equals("A")){
sex='男';
pd=false;
}else if(AorB.equals("B")){
sex='女';
pd=false;
}else {
System.out.println("性别修改失败,请重新填写");
}
}
System.out.println("修改前的成绩:"+data[a].getScore());
System.out.print("修改后的成绩:");
int score=sc.nextInt();
Student stu=new Student(name,age,sex,score);
if(isHaving(stu)){
System.out.println("数据重复,修改失败");
}else{
data[a]=stu;
}
showAll();
}
/*System.out.println("请输入你需要修改学生的序号:");
int a=sc.nextInt();
System.out.println("请输入你需要修改学生的内容:[A:姓名 B:年龄 C:性别 D:成绩]");
String xz=sc.next();
if("A".equals(xz)){
System.out.println("请输入你要修改的姓名");
String name=sc.next();
data[a].setName(name);
}else if("B".equals(xz)){
System.out.println("请输入你要修改的年龄");
int age=sc.nextInt();
data[a].setAge(age);
}else if("C".equals(xz)){
char sex='a';
boolean pd=true;
while(pd){
System.out.println("请输入你要修改的性别[A:男 B:女]:");
String AorB=sc.next();
if(AorB.equals("A")){
sex='男';
pd=false;
}else if(AorB.equals("B")){
sex='女';
pd=false;
}else {
System.out.println("性别添加失败,请重新添加");
}
}
data[a].setGender(sex);
}else if("D".equals(xz)){
System.out.println("请输入你要修改的成绩");
int score=sc.nextInt();
data[a].setScore(score);
}*/
}
}
class Student{
private String name;
private int age;
private char gender;
private int score;
public Student(String name,int age,char gender,int score){
this.name = name;
this.age = age;
this.gender = gender;
this.score = score;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setAge(int age){
this.age = age;
}
public int getAge(){
return age;
}
public void setGender(char gender){
this.gender = gender;
}
public char getGender(){
return gender;
}
public void setScore(int score){
this.score = score;
}
public int getScore(){
return score;
}
}
java学生管理系统
最新推荐文章于 2022-11-20 11:50:22 发布