添加课程信息会覆盖之前的内容
package teacher;
import java.io.*;
import java.util.ArrayList;
import java.util.Scanner;
class kcxx {
private String bianh;
private String name;
private String time;
private String cla;
public static kcxx s = new kcxx();
public void kcxx(String bianh, String name, String time, String cla) {
this.bianh = bianh;
this.name = name;
this.time = time;
this.cla = cla;
}
public void setBianh(String bianh) {
this.bianh = bianh;
}
public String getBianh() {
return bianh;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setTime(String time) {
this.time = time;
}
public String getTime() {
return time;
}
public void setCla(String cla) {
this.cla = cla;
}
public String getCla() {
return cla;
}
public void dowork(){
}
public void add (ArrayList < kcxx> array) {
Scanner sc = new Scanner(System.in);
String sid;
while (true) {
System.out.println("请输入课程编号: ");
sid = sc.nextLine();
boolean flag = isUsed(array, sid);
if (flag) {
System.out.println("此课程编号已经存在,请重新输入: ");
} else {
break;
}
}
System.out.println("请输入课程编号: ");
String bianh = sc.next();
System.out.println("请输入课程名: ");
String name = sc.next();
System.out.println("请输入课程时间: ");
String time = sc.next();
System.out.println("请输入授课数目: ");
String cla = sc.next();
s.setBianh(bianh);
s.setName(name);
s.setTime(time);
s.setCla(cla);
array.add(s);
System.out.println("添加学生成功");
}
public boolean isUsed (ArrayList < kcxx > array, String sid){
boolean flag = false;
for (int i = 0; i < array.size(); i++) {
kcxx s = array.get(i);
if (s.getBianh().equals(sid)) {
flag = true;
break;
}
}
return flag;
}
public void findit(ArrayList < kcxx > array) {
// 判断集合中是否有数据,如果没有显示提示信息
if (array.size() == 0) {
System.out.println("无信息,请先添加信息后查询");
// 为了不让程序往下执行,给出return;
return;
}
System.out.println("[课程编号 \t|课程名 \t|课时 \t|课程数]");
for (int i = 0; i < array.size(); i++) {
kcxx s=new kcxx();
s = array.get(i);
System.out.println("[" + s.getBianh() + "\t|" + s.getName() + "\t|" + s.getTime() + "\t|" + s.getCla()+"]");
}
}
public void delete(ArrayList < kcxx > array) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要删除的课程的编号: ");
String sid = sc.next();
int index = -1;
for (int i = 0; i < array.size(); i++) {
kcxx s=new kcxx();
s = array.get(i);
if (s.getBianh().equals(sid)) {
index = i;
break;
}
}
if (index == -1) {
System.out.println("该课程不存在,请重新输入: ");
} else {
array.remove(index);
System.out.println("删除课程成功");
}
}
public void chang(ArrayList < kcxx > array) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入需要修改的课程编号: ");
String bianh = sc.nextLine();
System.out.print("请输入课程名: ");
String name= sc.next();
System.out.print("请输入课时: ");
String time = sc.next();
System.out.print("请输入课程数: ");
String cla = sc.next();
kcxx s = new kcxx();
s.setBianh(bianh);
s.setName(name);
s.setTime(time);
s.setCla(cla);
// 遍历集合修改对应的学生信息
for (int i = 0; i < array.size(); i++) {
kcxx ss = array.get(i);
if (ss.getBianh().equals(bianh)) {
array.set(i, s);
break;
}
}
System.out.println("修改课程信息成功");
}
}
class menu {
public int menu() {
System.out.println("--------课程信息管理-------");
System.out.println("\t\t1-新增课程(课程编号)");
System.out.println("\t\t2-修改课程");
System.out.println("\t\t3-删除课程");
System.out.println("\t\t4-查找课程");
System.out.println("\t\t5-退出");
System.out.println("\t\t请输入你的选择: ");
Scanner in = new Scanner(System.in);
int choice = in.nextInt();
while (choice < 0 || choice > 5) {
System.out.println("输入的编号无效,请重新输入操作编号:");
choice = in.nextInt();
}
return choice;
}
public void selectOperat(ArrayList<kcxx> array) {
int choice;
choice = menu();
kcxx ke=new kcxx();
//ArrayList<kechengxinxi> array=new ArrayList<>();
switch (choice) {
case 1:
System.out.println("\t*****新增课程*****");
ke.add(array);
for (int i=0;i<array.size();i++){
System.out.println("array["+i+"]:"+array.get(i).getBianh()+"\t"+array.get(i).getName()+"\t"+array.get(i).getTime()+"\t"+array.get(i).getCla());
}
break;
case 2:
System.out.println("\t*****修改课程*****");
ke.chang(array);
break;
case 3:
System.out.println("\t*****删除课程*****");
ke.delete(array);
break;
case 4:
System.out.println("\t*****查找课程*****");
ke.findit(array);
break;
case 5:
System.out.println("\t*****^_^感谢使用^_^*****");
System.exit(0);
break;
}
}
}
public class teacherMessage {
public static void main(String[] args) {
int ff=1;
ArrayList kcxx_array_list = new ArrayList<>();
while(ff==1) {
menu m = new menu();
m.selectOperat(kcxx_array_list);
WriteDThread wd=new WriteDThread();
new Thread(wd).start();
}
kcData kcd=new kcData();
kcxx s=new kcxx();
kcd.writeData(kcxx_array_list);
kcd.readData(s);
}
}
添加两个不同信息,后面的信息会覆盖之前的信息
添加的时候,要在最后面添加,不要每次都向同一个位置添加。