JAVA数组集合题目求组,求助! 10
这是一个JAVA的数组集合的练习中的题目,求助!设计一个Java程序,要求能完成以下功能:1)程序要能够存储任意多个学生的信息。2)学生的信息有:学号、姓名、性别、年龄等...
这是一个JAVA的数组集合的练习中的题目,求助!
设计一个Java程序,要求能完成以下功能:
1) 程序要能够存储任意多个学生的信息。
2) 学生的信息有:学号、姓名、性别、年龄等相关字段。
3) 可以增加学生的信息,如果学号相同就不能添加
4) 根据用户输入的学号信息,可以删除相应的学生信息
5) 如果用户输入学号和其它信息,那么可以更改相应学生的信息
6) 在测试类里面进行相应的操作,可以完成上面的任务。
7) 采用List接口中的具体类实现 展开
设计一个Java程序,要求能完成以下功能:
1) 程序要能够存储任意多个学生的信息。
2) 学生的信息有:学号、姓名、性别、年龄等相关字段。
3) 可以增加学生的信息,如果学号相同就不能添加
4) 根据用户输入的学号信息,可以删除相应的学生信息
5) 如果用户输入学号和其它信息,那么可以更改相应学生的信息
6) 在测试类里面进行相应的操作,可以完成上面的任务。
7) 采用List接口中的具体类实现 展开
展开全部
有什么不懂可以追问
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);
}
}
}
展开全部
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;
}
//我只想说你们老师太操蛋了,这真不是一个初学者能做出来的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询