blog

Java簡易教員管理システム

メイン.java...

Nov 19, 2020 · 9 min. read
シェア






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;					}	}}



Read next

ファイル管理

ファイルの論理構造。ユーザーの視点から観察されるファイル編成の形式。ユーザーが直接処理できるデータとその構造で、ファイルの物理的特性とは独立しており、ファイル編成とも呼ばれます ファイルの物理的構造。ファイルのストレージ構造とも呼ばれ、外側の村のファイルのストレージ組織の形式を指します。ストレージメディアのストレージ性能とシーケンシャルファイルに関連する外部メモリの割り当て方法の使用。いくつかの順序で配置されたレコードのシリーズで構成されています...

Nov 18, 2020 · 3 min read