这是代码
主类
public class Main {
public static void main(String[] args) throws FileNotFoundException {
int i = 0;
Manage m=new Manage();
Scanner sc=new Scanner(System.in);
ArrayList List=new ArrayList<Student>();
while(true){System.out.println("----------学生信息管理系统---------");
System.out.println("-----1.导入学生成绩-----");
System.out.println("-----2.查看学生信息-----");
System.out.println("-----3.删除学生");
System.out.println("请输入你的选项:");
i=sc.nextInt();
switch(i){
case 1: m.loadFile(List);break;
case 2: m.showInfornation(List); break;
case 3: m.deleteS(List);break;
}
}
}
}
#这是学生类
public class Student {
int number;
String name;
int yuwen;
int shuxue;
int yingyu;
public String getName() {
return name;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public void setName(String name) {
this.name = name;
}
public int getYuwen() {
return yuwen;
}
public void setYuwen(int yuwen) {
this.yuwen = yuwen;
}
public int getShuxue() {
return shuxue;
}
public void setShuxue(int shuxue) {
this.shuxue = shuxue;
}
public int getYingyu() {
return yingyu;
}
public void setYingyu(int yingyu) {
this.yingyu = yingyu;
}
}
这是管理类
public class Manage {
File f1=new File("F:\\ceshi\\doc11.txt");
public void loadFile(ArrayList list) throws FileNotFoundException{
Scanner sc=new Scanner(f1);
String nu=sc.next();
String name1=sc.next();
String yuwen1=sc.next();
String shuxue1=sc.next();
String yingyu1=sc.next();
System.out.println(nu+" "+name1+" "+yuwen1+" "+shuxue1+" "+yingyu1);
while(sc.hasNext()){
Student aa=new Student();
aa.setNumber(sc.nextInt());
aa.setName(sc.next());
aa.setYuwen(sc.nextInt());
aa.setShuxue(sc.nextInt());
aa.setYingyu(sc.nextInt());
list.add(aa);
System.out.println(aa.getNumber()+" "+aa.getName()+" "+aa.getYuwen()+" "+aa.getShuxue()+" "+aa.getYingyu());
}
}
public void showInfornation(ArrayList list){
Student[] st=new Student[100];
for(int i=0;i<list.size();i++){
st[i]=(Student)list.get(i);
System.out.println(st[i].getNumber()+" "+st[i].getName()+" "+st[i].getYuwen()+" "+st[i].getShuxue()+" "+st[i].getYingyu());
}
}
public void deleteS(ArrayList list){
int n;
Student []arr=new Student[list.size()];
Scanner in=new Scanner(System.in);
int x;
System.out.println("请输入要删除的学生编号");
x=in.nextInt();
for(n=0;n<list.size();n++)
{ arr[n]=(Student) list.get(n);
}
for(n=0;n<list.size();n++){
if(arr[n].getNumber()==x);
{
System.out.println("xh="+arr[n].getNumber());
list.remove(n);
break;
}
}
}
}
其中所需要的文件格式如下:
学号 姓名 语文 数学 英语
01 张三 44 55 55
02 李四 33 33 33
03 王五 22 2 2
我想说一下我目前的问题:
1.ArrayList这个集合如果我把它当做函数的参数传到函数内部,函数内部的ArrayList形参变化了,那么主类中的ArrayList会变化吗?
2.操作顺序:导入文件,删除学号2,查看文件,会发现把学号为1的删除了。不知道问什么,想了好久也不知道我这么写有什么错。
希望好心人回答一下,谢谢大家了