package Test8;
public class Student {
int id;
String name;
int age;
//
// @Override
// public String toString() {
// return “Student [id=” + id + “, name=” + name + “, age=” + age + “]”;
// }
}
package Test8;
import java.util.Arrays;
import java.util.Scanner;
public class StudentServer {
Scanner scanner=new Scanner(System.in);
public Student[] Insert(Student[] students,int id,String name,int age){
//增
// System.out.println(students+"–");
Student stu=new Student();
stu.id=id;
stu.name=name;
stu.age=age;
students[students.length-1]=stu;
//System.out.println(Arrays.toString(students));
return students;
}
//扩展数组的长度
public Student[] getNewArray(Student[] students){
Student[] students1=Arrays.copyOf(students, students.length+1);
return students1;
}
//删
public Student[] Del(Student[] students,int id){
int index=isExist(students, id);
if(index==-1){
System.out.println("没有这个人,你输入的信息有误");
}else {
students[index]=null;
students=AfterDel(students);
}
return students;
}
//删除信息后,把数组的长度变短
public Student[] AfterDel(Student[] students){
Student[] stu=new Student[students.length-1];
for(int i=0,index1=0;i<students.length;i++,index1++){
if(students[i]!=null){
stu[index1]=students[i];
}else {
index1--;
continue;
}
}
return stu;
}
//改
public void Update(Student[] students,int id){
//System.out.println(students+"--");
int index=isExist(students, id);
//System.out.println("index:"+index);
if(index==-1){
System.out.println("没有这个人");
}else {
System.out.println("请输入要修改的信息的数字:1-姓名或者2-年龄:");
int num=scanner.nextInt();
Student student= students[index];
selectUpdate(student,num);
}
}
public void selectUpdate(Student students,int num){
switch (num) {
case 1:
System.out.println("请输入新名字");
String name = scanner.next();
students.name = name;
break;
case 2:
System.out.println("请输入新的年龄");
int age = scanner.nextInt();
students.age = age;
break;
}
//System.out.println(students+"----");
}
//查
public void selectAll(Student[] students){
//System.out.println("----");
if(students!=null&&students.length>0){
for(int i=0;i<students.length;i++){
Student s=students[i];
System.out.println(s.id+","+s.name+","+s.age);
//System.out.println(s);
}
}else{
System.out.println("沒有个人");
}
}
//判断是否存在这个人
public int isExist(Student[] students,int id){
// System.out.println(students+"---");
for(int i=0;i<students.length;i++){
if(students[i].id==id){
return i;
}
}
return -1;
}
}
package Test8;
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Scanner;
public class TestStudent {
public static Scanner scanner=new Scanner(System.in);
public static void main(String[] args) {
Student[] students=new Student[0];
System.out.println(students+"-");
StudentServer studentServer=new StudentServer();
// System.out.println();
while(true){
System.out.println("请执行以下信息:1、添加信息,2、删除信息,3、修改信息,4、查找信息,5、退出");
int num=scanner.nextInt();
switch (num) {
case 1:
System.out.println("请输入id");
int id=scanner.nextInt();
System.out.println("请输入name:");
String name=scanner.next();
System.out.println("请输入age:");
int age=scanner.nextInt();
//接收students
students=studentServer.Insert(studentServer.getNewArray(students), id, name, age);
System.out.println(students+"+");
break;
case 2:
System.out.println("请输入要删除的对象的id");
int delId=scanner.nextInt();
//
students=studentServer.Del(students, delId);
break;
case 3:
System.out.println("请输入要修改的用户的id:");
int sc=scanner.nextInt();
studentServer.Update(students,sc);
break;
case 4:
studentServer.selectAll(students);
break;
case 5:
break;
default:
break;
}
}
}
}