import java.io.*;
import java.util.*;
class Course
{
String name,type,teacher;
int period;
double credit;
Course(){};
Course(String name,String type,String teacher,int period,double credit)
{
this.name=name;
this.type=type;
this.teacher=teacher;
this.period=period;
this.credit=credit;
}
void Print()
{
System.out.println(name+" "+type+" "+teacher+" "+period+" "+credit);
}
}
class Courses
{
Course[] c= new Course[100];
Scanner sc1=new Scanner(System.in);
Courses()
{
c[0]=new Course("高数","是","张三",72,4);
c[1]=new Course("大物","是","李四",72,5.5);
};
void addelement() throws IOException
{
int n=0;
while(c[n]!=null)
{
n++;
}
System.out.println("请输入课程名称:");
String na = sc1.next();
System.out.println("请输入是否为必修课:");
String ty = sc1.next();
System.out.println("请输入授课老师:");
String te = sc1.next();
System.out.println("请输入学时:");
int pe = sc1.nextInt();
System.out.println("请输入学分:");
double cr = sc1.nextDouble();
sc1.close();
if(Find(na,ty,te)==-1)
{
c[n]=new Course(na,ty,te,pe,cr);
System.out.println("添加成功!");
}
else
{
System.out.println("该课程已存在,添加失败!");
}
}
int Find(String na,String ty,String te)
{
int n=0;
while(c[n]!=null)
{
if((c[n].name.equals(na))&&(c[n].type.equals(ty))&&(c[n].teacher.equals(te)))
{
return n;
}
n++;
}
return -1;
}
int Finds(String na)
{
int n=0;
while(c[n]!=null)
{
if(c[n].name.equals(na))
{
return n;
}
n++;
}
return -1;
}
void Modify(int n) throws IOException
{
System.out.println("请输入修改后的数据:");
System.out.println("请输入课程名称:");
String na = sc1.next();
System.out.println("请输入是否为必修课:");
String ty = sc1.next();
System.out.println("请输入授课老师:");
String te = sc1.next();
System.out.println("请输入学时:");
int pe = sc1.nextInt();
System.out.println("请输入学分:");
double cr = sc1.nextDouble();
if(Find(na,ty,te)==-1)
{
Course a=new Course(na,ty,te,pe,cr);
c[n]=a;
System.out.println("修改成功!");
}
else
{
System.out.println("该课程已存在,修改失败!");
}
}
void Print(int n)
{
c[n].Print();
}
void Display()
{
int n=0;
while(c[n]!=null)
{
c[n].Print();
n++;
}
}
}
public class CYX0922_1 {
public static void main(String arg[]) throws IOException
{
int n=1,t,x;
Scanner sc2=new Scanner(System.in);
Courses c=new Courses();
while(n==1)
{
System.out.println();
System.out.println("课程名 是否为必修课 授课老师 学时 学分");
System.out.println("1-添加课程 2-查询课程 3-删除课程 4-修改课程 5-显示全部课程信息 0-退出系统");
System.out.print("请选择要使用的功能序号:");
x=sc2.nextInt();
switch(x)
{
case 1:c.addelement();
break;
case 2:System.out.println("请输入课程名称:");
String name = sc2.next();
System.out.println("请输入是否为必修课:");
String type = sc2.next();
System.out.println("请输入授课老师:");
String teacher = sc2.next();
t=c.Find(name,type,teacher);
if(t==-1)
{
System.out.println("该课程不存在!");
break;
}
else
{
System.out.println("该课程存在!");
c.Print(t);
break;
}
case 3:System.out.println("请输入课程的课程名(以回车结束):");
name=sc2.next();
t=c.Finds(name);
if(t==-1)
{
System.out.println("该课程不存在,删除失败!");
break;
}
else
{
c.Print(t);
System.out.println("删除成功!");
break;
}
case 4:System.out.println("请输入课程的课程名(以回车结束):");
name=sc2.next();
t=c.Finds(name);
if(t==-1)
{
System.out.println("该课程不存在!");
break;
}
else
{
c.Modify(t);
break;
}
case 5:c.Display();
break;
case 0:System.out.println("已退出系统!");
n=0;
break;
default:System.out.println("输入错误!");
break;
}
}
sc2.close();
}
}
运行后选择功能1,输入数据后会出现错误如下