
import java.util.Scanner; public class Main { public static void main(String[] args) { System.out.println("\t\tシンプルな学術管理システム"); System.out.println("1学生のエントリー\t2生徒に見せる\t3エントリーコース\t4展示コース\t5教師、エントリー教師" +"\t6教師を表示する\t7学生セレクション\t8教師は成績を入力する\t9教師のスケジューリング\t10教育の評価\t0 "); Student[] students=null; Course courses[]=null; Teacher teachers[]=null; Operator operator=new Operator(); Scanner scan= new Scanner(System.in); itcase: while (true) { //システムのメインメニューを表示する System.out.print("機能メニューを選択する:"); int choice = scan.nextInt();// 受信ユーザーの選択 switch(choice){ case 1: // 学生情報を入力する System.out.println("生徒数を入力してください:"); int n = scan.nextInt(); students = new Student[n]; operator.addStudents(students); break; case 2: // すべての学生情報を表示する operator.displayStudents(students); break; case 3://コースに入る System.out.println("コース数を入力してください:"); n = scan.nextInt(); courses = new Course[n]; operator.addCourses(courses); break; case 4: // コースを表示する operator.displayCourses(courses); break; case 5: // インプット・ティーチャー System.out.println("教師の人数を入力してください:"); n = scan.nextInt(); teachers = new Teacher[n]; operator.addTeachers(teachers); break; case 6:// 教師を表示する operator.displayTeachers(teachers); break; case 7:// 学生セレクション operator.stuSelectCourses(students, courses); break; case 8:// 成績を入力する operator.inputScores(students); break; case 9:// 教師のスケジューリング operator.assignTeachCourses(teachers, courses); break; case 10:// レッスンの評価 operator.inputEvaluate(teachers); break; case 0:// break itcase; default: System.out.println("違法な注文だ!"); } } }
public class Course { private String courseId;// private String courseName;//コース名 private double credit;// //工法 Course(){ } Course(String courseId,String courseName,double credit){ this.setCourseId(courseId); this.setCourseName(courseName); this.setCredit(credit); } public String getCourseId() { return courseId; } public void setCourseId(String courseId) { this.courseId = courseId; } public String getCourseName() { return courseName; } public void setCourseName(String courseName) { this.courseName = courseName; } public double getCredit() { return credit; } public void setCredit(double credit) { this.credit = credit; }}
import java.util.Scanner; public class Operator { Scanner scan; Operator(){ scan= new Scanner(System.in); } //コースに入る public void addCourses(Course[] courses){ System.out.println("コース番号、コース名、単位の形式で学生情報を入力すること。"); String str; String sInfor[]; for(int i=0;i<courses.length;i++){ str=scan.next(); sInfor=str.split(","); courses[i]=new Course(sInfor[0],sInfor[1],Double.parseDouble(sInfor[2])); } } //すべてのコースを表示する public void displayCourses(Course[] courses){ for(int i=0;i<courses.length;i++){ System.out.println("コース番号:"+courses[i].getCourseId()+",コース名:"+courses[i].getCourseName() +", "+courses[i].getCredit()); } } //入学生 public void addStudents(Student[] students){ System.out.println("学生番号、氏名、性別、電話番号、住所、年齢などの学生情報を入力する。"); String str; String sInfor[]; for(int i=0;i<students.length;i++){ str=scan.next(); sInfor=str.split(","); students[i]=new Student(sInfor[0],sInfor[1],sInfor[2],sInfor[3], sInfor[4],Integer.parseInt(sInfor[5])); } } //生徒に関するすべての情報を表示する public void displayStudents(Student[] students){ for(int i=0;i<students.length;i++){ System.out.println(" "+students[i].getStuId()+", "+students[i].getStuName() +", "+students[i].getSex()+", "+students[i].getTel() +", "+students[i].getAddress()+", "+students[i].getAge()); if(students[i].selCourse!=null){ for(int j=0;j<students[i].selCourse.length;j++){ System.out.println("\t\tコース番号"+students[i].selCourse[j].courseId+", " +students[i].selCourse[j].grade); } } } } //インプット・ティーチャー public void addTeachers(Teacher[] teachers){ System.out.println("講師の情報を、求人番号、氏名、性別、電話番号、役職、年齢の形式で入力する。"); String str; String sInfor[]; for(int i=0;i<teachers.length;i++){ str=scan.next(); sInfor=str.split(","); teachers[i]=new Teacher(sInfor[0],sInfor[1],sInfor[2],sInfor[3],sInfor[4],Integer.parseInt(sInfor[5])); } } //教師に関するすべての情報を表示する public void displayTeachers(Teacher[] teachers){ for(int i=0;i<teachers.length;i++){ System.out.println(" "+teachers[i].getTeaId()+", "+teachers[i].getTeaName() +", "+teachers[i].getSex()+", "+teachers[i].getTel() +", "+teachers[i].getProfessor()+", "+teachers[i].getAge()); if(teachers[i].teachCourse!=null){ for(int j=0;j<teachers[i].teachCourse.length;j++){ System.out.println("\t\tコース番号"+teachers[i].teachCourse[j].courseId+",教育評価:"+teachers[i].teachCourse[j].evaluate); } } } } //学生セレクション public void stuSelectCourses(Student[] students,Course[] courses){ System.out.println(); System.out.println("\tコース情報の学科は以下の通りである:"); for(int i=0;i<courses.length;i++){ System.out.println("コース番号:"+courses[i].getCourseId()+"\t"+"コース名:" +courses[i].getCourseName()); } System.out.println(); System.out.println("選択科目は、「科目No.1」「科目No.2」「科目No.3」「科目No.4」「科目No.5」「科目No.6」「科目No.7」「科目No.7」「科目No.8」の中から選択する。2,......"); for(int i=0;i<students.length;i++){ System.out.println(" "+students[i].getStuId()+"名前だ:" +students[i].getStuName()+" "); String str=scan.next(); String[] cIds=str.split(","); students[i].setSelCourse(cIds); } } //教師のスケジューリング public void assignTeachCourses(Teacher[] teachers,Course[] courses){ System.out.println(); System.out.println("\tコース情報の学科は以下の通りである:"); for(int i=0;i<courses.length;i++){ System.out.println("コース番号:"+courses[i].getCourseId() +"\t"+"コース名:"+courses[i].getCourseName()); } System.out.println(); System.out.println("コースNo.1,コースNo.2,コースNo.3,コースNo.2,......"); for(int i=0;i<teachers.length;i++){ System.out.println(" "+teachers[i].getTeaId() +"名前だ:"+teachers[i].getTeaName()+" "); String[] cIds=scan.next().split(","); teachers[i].setTeachCourse(cIds); } } //教師は成績を入力する public void inputScores(Student[] students){ for(int i=0;i<students.length;i++){ for(int j=0;j<students[i].selCourse.length;j++){ System.out.println("学校番号を入力する:"+students[i].getStuId() +", "+students[i].getStuName() +", コース番号はこうだ:"+students[i].selCourse[j].courseId+"実績がある:"); students[i].selCourse[j].grade=scan.nextDouble(); } } } //教師の授業評価 public void inputEvaluate(Teacher[] teachers){ for(int i=0;i<teachers.length;i++){ for(int j=0;j<teachers[i].teachCourse.length;j++){ System.out.println("ジョブ番号を入力する:"+teachers[i].getTeaId()+", "+teachers[i].getTeaName() +", コース番号はこうだ:"+teachers[i].teachCourse[j].courseId+"講義の評価である:"); teachers[i].teachCourse[j].evaluate=scan.next(); } } } //コースを削除する public void delCourses(Course[] courses){ System.out.println("削除するコースの番号を入力してください:"); String courseId=scan.next(); for(int i=0;i<courses.length;i++){ if(courses[i].getCourseId().equals(courseId)){ courses[i]=null; } } }}
public class Student { //Studentクラスのプロパティを設定する private String stuId; // private String stuName; // private String sex; // private String tel; //電話番号 private String address; // private int age; // SelectCourse[] selCourse; //選択コース //工法 Student(){ } Student(String stuId,String stuName){ this.stuId=stuId; this.stuName=stuName; } Student(String stuId,String stuName,String sex,String tel,String address,int age){ this(stuId,stuName); //this this.sex=sex; this.tel=tel; this.address=address; // this.age=age; } public String getStuId() { return stuId; } public void setStuId(String stuId) { this.stuId = stuId; } //名前 属性 カプセル化 public String getStuName() { return stuName; } public void setStuName(String stuName) { this.stuName = stuName; } //性別属性のカプセル化 public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } //電話プロパティのカプセル化 public String getTel() { return tel; } public void setTel(String tel) { this.tel = tel; } //アドレス属性のカプセル化 public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } //年齢属性のカプセル化 public int getAge() { return age; } public void setAge(int age) { this.age = age; } //選択科目の新設 public void setSelCourse(String[] cIds) { //cIdsコース番号配列 selCourse=new SelectCourse[cIds.length]; for(int j=0;j<cIds.length;j++){ selCourse[j]= new SelectCourse(cIds[j]); } } //選択科目の成績を入力する public void setSelCourseGrade(double[] grades) { //gradesアチーブメント・アレイ for(int j=0;j<grades.length;j++){ selCourse[j].grade= grades[j]; } } //各コースの成績平均点の算出 double getAvg(){ double sum=0; for(int i=0;i<selCourse.length;i++){ sum=sum+selCourse[i].grade; } return sum/selCourse.length; } //生徒の履修科目の合計を計算する。 double getSum(){ double sum=0; for(int i=0;i<selCourse.length;i++){ sum=sum+selCourse[i].grade; } return sum; } //選択科目と成績を管理するための内部クラス class SelectCourse{ String courseId; double grade; SelectCourse(){ } SelectCourse(String courseId){ this.courseId=courseId; } SelectCourse(String courseId,double grade){ this.courseId=courseId; this.grade=grade; } }}
public class Teacher { //教師クラスのプロパティを設定する private String teaId; // private String teaName; // private String sex; // private String tel; // private String professor; // private int age; // TeachCourse teachCourse[]; //担当コース //工法 Teacher(){ } Teacher(String teaId,String teaName){ this.teaId=teaId; this.teaName=teaName; } Teacher(String teaId,String teaName,String sex,String tel,String professor,int age){ this(teaId,teaName); //this this.sex=sex; this.tel=tel; this.professor=professor; // this.age=age; } //ワーク番号属性のカプセル化 public String getTeaId() { return teaId; } public void setTeaId(String teaId) { this.teaId = teaId; } //名前 属性 カプセル化 public String getTeaName() { return teaName; } public void setTeaName(String teaName) { this.teaName = teaName; } //性別属性のカプセル化 public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } //電話プロパティのカプセル化 public String getTel() { return tel; } public void setTel(String tel) { this.tel = tel; } //タイトル属性のカプセル化 public String getProfessor() { return professor; } public void setProfessor(String professor) { this.professor = professor; } //年齢属性のカプセル化 public int getAge() { return age; } public void setAge(int age) { this.age = age; } //担当コース public void setTeachCourse(String[] cIds) { teachCourse=new TeachCourse[cIds.length]; for(int j=0;j<cIds.length;j++){ teachCourse[j]= new TeachCourse(cIds[j]); } } //担当コースの評価を設定する public void setTeachEvaluate(String[] evaluates) { //gradesアチーブメント・アレイ for(int j=0;j<evaluates.length;j++){ teachCourse[j].evaluate= evaluates[j]; } } //内部部門、教師が教えるコース class TeachCourse{ String courseId; //コース番号 String evaluate; //コース評価 TeachCourse(String courseId){ this.courseId=courseId; } TeachCourse(String courseId,String evaluate){ this.courseId=courseId; this.evaluate=courseId; } }}
