JAVA数组集合题目求组,求助! 10

这是一个JAVA的数组集合的练习中的题目,求助!设计一个Java程序,要求能完成以下功能:1)程序要能够存储任意多个学生的信息。2)学生的信息有:学号、姓名、性别、年龄等... 这是一个JAVA的数组集合的练习中的题目,求助!
设计一个Java程序,要求能完成以下功能:
1) 程序要能够存储任意多个学生的信息。
2) 学生的信息有:学号、姓名、性别、年龄等相关字段。
3) 可以增加学生的信息,如果学号相同就不能添加
4) 根据用户输入的学号信息,可以删除相应的学生信息
5) 如果用户输入学号和其它信息,那么可以更改相应学生的信息
6) 在测试类里面进行相应的操作,可以完成上面的任务。
7) 采用List接口中的具体类实现
展开
 我来答
积极且耿直灬雪花o
2014-11-05 · TA获得超过5286个赞
知道大有可为答主
回答量:2296
采纳率:79%
帮助的人:710万
展开全部
  • 有什么不懂可以追问

  • Student.java

     

    public class Student {

    String id;
    String name;
    String sex;
    String age;

    public String getId() {
    return id;
    }

    public void setId(String id) {
    this.id = id;
    }

    public String getName() {
    return name;
    }

    public void setName(String name) {
    this.name = name;
    }

    public String getSex() {
    return sex;
    }

    public void setSex(String sex) {
    this.sex = sex;
    }

    public String getAge() {
    return age;
    }

    public void setAge(String age) {
    this.age = age;
    }

    @Override
    public String toString() {
    return "Student [id=" + id + ", name=" + name + ", sex=" + sex
    + ", age=" + age + "]";
    }

    }
  • Main.java


    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Scanner;

    public class Main {
    static String strMain = "---------------------------\r\n请根据需求回复序号(\"EXIT\"退出):\r\n\r\n1.添加学生信息\r\n2.修改学生信息\r\n3.删除学生信息\r\n4.根据学号查看信息\r\n5.获取所有学生信息\r\n";

    public static void main(String[] args) {
    openStudentSys();
    }

    private static List<Student> mList;

    private static void openStudentSys() {
    try {
    mList = new ArrayList<Student>();
    while (true) {
    System.out.println(strMain);
    Scanner scanner = new Scanner(System.in);
    String number = scanner.next();
    if ("exit".equalsIgnoreCase(number)) {
    scanner.close();
    System.exit(0);
    }
    switch (Integer.parseInt(number)) {
    case 1:// 添加学生信息
    addStudent(scanner, false);
    break;
    case 2:// 修改学生信息
    modifyStudent(scanner);
    break;
    case 3:// 删除学生信息
    deleteStudent(scanner);
    break;
    case 4:// 查看某位学号信息
    System.out.println("输入学号:");
    String id = scanner.next();
    if (0 == mList.size() || !isExistence(id)) {
    System.out.println("没有此学号信息!");
    break;
    }
    Iterator<Student> iterator = mList.iterator();
    StringBuilder builder = new StringBuilder();
    while (iterator.hasNext()) {
    Student info = iterator.next();
    if (id.equalsIgnoreCase(info.id)) {
    builder.append(info.toString());
    }

    }
    System.out.println(builder.toString());
    break;
    case 5:// 查看所有学生信息
    if (0 == mList.size()) {
    System.out.println("没有任何学生信息!!");
    break;
    }
    Iterator<Student> iterator2 = mList.iterator();
    StringBuilder builder2 = new StringBuilder();
    int count = 1;
    while (iterator2.hasNext()) {
    builder2.append(count + " - "
    + (iterator2.next().toString()));
    count++;
    }
    System.out.println(builder2.toString());
    break;
    default:
    break;
    }
    }
    } catch (Exception e) {
    e.printStackTrace();
    }

    }

    private static void deleteStudent(Scanner scanner) {
    // TODO Auto-generated method stub
    System.out.println("请输入需要删除的学号:");
    try {
    String id = scanner.next();
    boolean idExistence = isExistence(id);
    if (idExistence) {
    Iterator<Student> iterator = mList.iterator();
    while (iterator.hasNext()) {
    String id2 = iterator.next().id;
    if (id2.equalsIgnoreCase(id)) {
    iterator.remove();
    System.out.println(id + " 学号已删除。");
    }
    }
    } else {
    System.out.println("学号 " + id + " 不存在!");
    }
    } catch (Exception e) {
    e.printStackTrace();
    }
    }

    private static void modifyStudent(Scanner scanner) {
    // TODO Auto-generated method stub
    System.out.println("请输入需要修改的学号:");
    try {
    String id = scanner.next();
    boolean idExistence = isExistence(id);
    if (!idExistence) {
    System.out.println("该学号不存在,是否添加?(Y/N)");
    String isAdd = scanner.next();
    if ("y".equalsIgnoreCase(isAdd)) {
    addStudent(scanner, false);
    } else {
    return;
    }
    } else {
    addStudent(scanner, true);
    }
    } catch (Exception e) {
    System.out.println("修改失败,是否重试?(Y/N)");
    String yn = scanner.next();
    if ("y".equalsIgnoreCase(yn)) {
    modifyStudent(scanner);
    } else {
    return;
    }
    }

    }

    private static boolean isExistence(String id) {
    boolean result = false;
    if ("".equalsIgnoreCase(id) || null == id) {
    result = false;
    } else {
    Iterator<Student> iterator = mList.iterator();
    while (iterator.hasNext()) {
    String id2 = iterator.next().id;
    if (id2.equalsIgnoreCase(id)) {
    result = true;
    }
    }
    }

    return result;
    }

    private static void addStudent(Scanner scanner, boolean isModify) {
    Student student = new Student();
    System.out.println("请输入学生学号:");
    String id = scanner.next();
    if (!isModify && isExistence(id)) {
    System.out.println("学号已存在,不能添加");
    addStudent(scanner, false);
    }
    System.out.println("请输入学生姓名:");
    String name = scanner.next();
    System.out.println("请输入学生性别:");
    String sex = scanner.next();
    System.out.println("请输入学生年龄:");
    String age = scanner.next();

    student.setId(id);
    student.setName(name);
    student.setSex(sex);
    student.setAge(age);

    mList.add(student);
    if (isModify) {
    System.out.println("已成功修改 " + id);
    } else {
    System.out.println("已成功添加 " + id);
    }
    }
    }
旗逸雅r7
2014-11-05 · TA获得超过195个赞
知道小有建树答主
回答量:125
采纳率:0%
帮助的人:108万
展开全部
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;


public class ListTest {
/*
 这是一个JAVA的数组集合的练习中的题目,求助!
设计一个Java程序,要求能完成以下功能:
1) 程序要能够存储任意多个学生的信息。
2) 学生的信息有:学号、姓名、性别、年龄等相关字段。
3) 可以增加学生的信息,如果学号相同就不能添加
4) 根据用户输入的学号信息,可以删除相应的学生信息
5) 如果用户输入学号和其它信息,那么可以更改相应学生的信息 
6) 在测试类里面进行相应的操作,可以完成上面的任务。
7) 采用List接口中的具体类实现
 */

List<Student> students=new ArrayList<Student>();
public void insertStudent(Student student) {
if(getStudentById(student.id)==null){
students.add(student);
}else {
students.remove(getStudentById(student.id));
students.add(student);
}

}
public void delStudentById(int id) {
for(Student student:students){
if(student.id==id){
students.remove(student);
System.out.println("修改成功\n");
return;
}
}
System.out.println("所要删除的学生信息不存在!!!\n");

}
public Student getStudentById(int id) {
for(Student student:students){
if(student.id==id){
return student;
}
}
System.out.println("查询的学生信息不存在");
return null;
}
public static void main(String[] args) {

ListTest listTest=new ListTest();
while (true) {
System.out.println("在下行输入要执行的指令(i:增加、d:删除、u:修改、d:退出):");
Scanner ins=new Scanner(System.in);
String choose=ins.next();
if (choose.equalsIgnoreCase("u")) {
Scanner in=new Scanner(System.in);
System.out.println("在下行输入学生:学号、姓名、性别、年龄,以空格区分:");
Student student=new Student();
student.id=in.nextInt();
student.name=in.next();
student.sex=in.next();
student.age=in.nextInt();
listTest.students.add(student);
System.out.println("修改成功\n");
continue;
}
if (choose.equalsIgnoreCase("d")) {
Scanner in=new Scanner(System.in);
System.out.println("在下行输入要删除的学生学号:");
listTest.delStudentById(in.nextInt());
//System.out.println("删除成功\n");
continue;
}
if (choose.equalsIgnoreCase("i")) {
Scanner in=new Scanner(System.in);
System.out.println("在下行输入学生:学号、姓名、性别、年龄,以空格区分:");
Student student=new Student();
student.id=in.nextInt();
student.name=in.next();
student.sex=in.next();
student.age=in.nextInt();
listTest.students.add(student);
System.out.println("增加成功\n");
continue;
}
if(choose.equalsIgnoreCase("e")){
break;
}
System.out.println("操作指令输入错误!!!\n");
}
}
}
class Student{
int id;//学号
String name;
String sex;
int age;
}

//我只想说你们老师太操蛋了,这真不是一个初学者能做出来的

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhangqi0192
2014-11-05 · TA获得超过2387个赞
知道大有可为答主
回答量:1417
采纳率:0%
帮助的人:1205万
展开全部
Student类 包含 属性 name id sex age 然后测试类 List<Student> list = new ArrayList<Student>() 使用 list.add(new Student())往集合添加数据 获取集合第一个元素 示例: list[0] 代表Student对象 获取名字 list[0].getName()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-11-05
展开全部
建立学生类,然后使用java.util.List、java.util.ArrayList
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式