java中創建類與對象

java中創建類與對象

*創建類時類名要大寫

*成員變量的變量名全部小寫

1、必須使用new關鍵字創建一個對象

2、使用對象屬性(對象名.成員變量)

3、使用方法(對象名.方法

4、同一個類的每個對象有不同的成員變量的存儲空間

5、同一個類的每個對象共享該類方法

例:

學生成績管理系統:

import java.util.*;
public class Text {//主程序
	public static void main(String[]rags){
		/*		Student stu=new Student();
		stu.setOn(0);
		stu.setName("小李");
		stu.setAge(18);
		stu.setJave(98);
		stu.setc_shar(89);
		stu.setHtml(68);
		stu.setSql(99);
		stu.setSum();
		stu.setAve();

		System.out.println("\t編號\t姓名\t年齡\tjava\tC#\thtml\tsql\t總分\t平均分");
		System.out.println(stu);
		 */
		//System.out.println("--請定義學生人數--");
		Scanner in=new Scanner(System.in);
		//System.out.println("請定義學生總人數:");
		//String num=in.next();
		//int stuNum=in.nextInt();
		Student[] stuArr=new Student[99999];
		Admin adminStu=new Admin();
		while(true){
			System.out.println("--請選擇你要執行的功能:--");
			System.out.println("\n1、添加一個學生\n2、查找一個學生\n3、根據學生編號更新學生基本信息\n4、根據學生編號刪除學生\n5、根據編號輸入學生各門成績\n6、根據某門成績進行排序\n7、根據總分進行排序\n8、退出系統");
			String num=in.next();
			if(num.equals("1")){
				System.out.println("請輸入學生的姓名:");
				String name=in.next();
				System.out.println("請輸入學生的年齡:");
				int age=in.nextInt();
				adminStu.create(name, age, stuArr);//添加學生
				adminStu.print(stuArr);
			}else if(num.equals("2")){
				System.out.println("執行查找學生的基本信息操作\n請輸入學生的編號進行查找:");

				int on=in.nextInt();
				adminStu.select(on, stuArr);
			}else if(num.equals("3")){
				System.out.println("執行更新學生的基本信息操作\n請輸入學生的編號:");
				int on=in.nextInt();
				System.out.println("請輸入學生的姓名:");
				String name=in.next();
				System.out.println("請輸入學生的年齡:");
				int age=in.nextInt();
				adminStu.update(on, name, age,stuArr);


			}else if(num.equals("4")){
				System.out.println("執行刪除學生的操作\n請輸入學生得編號:");
				int on=in.nextInt();
				adminStu.delete(on, stuArr);
			}else if(num.equals("5")){
				System.out.println("執行輸入成績操作\n請輸入學生的編號:");
				int on=in.nextInt();
				
				adminStu.input(on, stuArr);
			}else if(num.equals("6")){
				System.out.println("根據成績進行排序\n請選擇用什麼成績排序(1、Java 2、C# 3、html 4、sql");
				int number=in.nextInt();
				adminStu.courseSort(number, stuArr);
				
			}else if(num.equals("7")){
				System.out.println("執行根據總分進行排序");
				adminStu.sumSort(stuArr);
			}else if(num.equals("8")){
				//System.exit(0);
				break;
			}
		}
		System.out.println("程序結束!");
	}	
}

public class Student{//學生類
	private int on;
	private String name;
	private int age;
	private double java;
	private double c_shar;
	private double html;
	private double sql;
	private double sum;
	private double ave;
	
	public void setOn(int on){
		this.on=on;
	}
	public int getOn(){
		return this.on;
	}
	public void setName(String name){
		this.name=name;
	}
	public String getName(){
		return this.name;
	}
	public void setAge(int age){
		this.age=age;
	}
	public int getAge(){
		return this.age;
	}
	public void setJave(double java){
		this.java=java;
	}
	public double getJava(){
		return this.java;
	}
	public void setc_shar(double c_shar){
		this.c_shar=c_shar;
	}
	public double getC_shar(){
		return this.c_shar;
	}
	public void setHtml(double html){
		this.html=html;
	}
	public double getHtml(){
		return this.html;
	}
	public void setSql(double sql){
		this.sql=sql;
	}
	public double getSql(){
		return this.sql;
	}
	public void setSum(){
		this.sum=this.java+this.sql+this.c_shar+this.html;
	}
	public double getSum(){
		return this.sum;
	}
	public void setAve(){
		this.ave=this.sum/4;
	}
	public double getAve(){
		return this.ave;
	}
	public String toString(){
		String msg="\t"+this.on+"\t"+this.name+"\t"+this.age+
		"\t"+this.java+"\t"+this.c_shar+"\t"+this.html+"\t"+this.sql+"\t"+this.sum+"\t"+this.ave;
		return msg;
	}
}

import java.util.*;
public class Admin {//用來管理學生的一個類
	Scanner in=new Scanner(System.in);
	String msg="\t編號\t姓名\t年齡\tjava\tC#\thtml\tsql\t總分\t平均分";
	public void print(Student[]arr){
		System.out.println(msg);
		for(int i=0;i<arr.length;i++){
			if(arr[i]!=null){
				arr[i].setSum();
				arr[i].setAve();
				System.out.println(arr[i]);
			}
		}
	}
	public boolean exist(int on,Student stu){//判斷學生是否存在
		if(stu!=null){
			if(stu.getOn()==on){
				return true;
			}else{
				return false;
			}
		}
		return false;
	}
	public void create(String name,int age,Student[]arr){//添加學生的方法
		Student stu=new Student();
		stu.setName(name);
		stu.setAge(age);
		int i=this.setIndex(arr);
		stu.setOn(i);
		if(i==9999){
			System.out.println("學生人數已經到達最大,不能再添加了");
		}else{
			arr[i]=stu;
		}
	}
	public int setIndex(Student[] arr){//返回爲空的下標
		for(int i=0;i<arr.length;i++){
			if(arr[i]==null){
				return i;
			}
		}
		return 99999;
	}
	public void select(int on,Student[]arr){//查詢
		System.out.println(msg);
		for(int i=0;i<arr.length;i++){
			if(this.exist(on, arr[i])==true){
				System.out.println(msg);
				System.out.println(arr[i]);

				return;
			}
		}
		System.out.println("——沒有這個學生的存在——");
	}
	public void update(int on,String name,int age,Student []arr){//更新學員信息
		for(int i=0;i<arr.length;i++){
			if(this.exist(on, arr[i])){
				arr[i].setName(name);
				arr[i].setAge(age);
				System.out.println("\t\t\t\t****更新學生信息成功****");
				this.print(arr);
				return;
			}
		}
		System.out.println("\t\t\t\t查無此人,更新信息失敗!");
	}
	public void delete(int on,Student []arr){
		for(int i=0;i<arr.length;i++){
			if(this.exist(on, arr[i])){
				arr[i]=null;
				this.print(arr);
				return;
			}
		}
		System.out.println("您所指定的學生不存在");
	}
	public void input(int on,Student[] arr){//輸入學生成績的操作
		for(int i=0;i<arr.length;i++){
			if(this.exist(on, arr[i])){
				System.out.println("請輸入"+arr[i].getName()+"的java成績:");
				Scanner in=new Scanner(System.in);
				if(in.hasNextDouble()){
					arr[i].setJave(in.nextDouble());
				}
				System.out.println("請輸入"+arr[i].getName()+"的C#成績:");
				if(in.hasNextDouble()){
					arr[i].setc_shar(in.nextDouble());
				}
				System.out.println("請輸入"+arr[i].getName()+"的html成績:");
				if(in.hasNextDouble()){
					arr[i].setHtml(in.nextDouble());
				}
				System.out.println("請輸入"+arr[i].getName()+"的sql成績:");
				if(in.hasNextDouble()){
					arr[i].setSql(in.nextDouble());
				}
				this.print(arr);
				break;
			}
		}
	}
	public void courseSort(int number,Student[]arr){//根據某門成績進行排序的操作
		if(number==1){
			for(int i=0;i<arr.length-1;i++){
				for(int j=i+1;j<arr.length;j++){
					if(arr[i]!=null&&arr[j]!=null){
						if(arr[i].getJava()<arr[j].getJava()){
							Student t=arr[i];
							arr[i]=arr[j];
							arr[j]=t;
						}
					}
				}

			}
		}
		if(number==2){
			for(int i=0;i<arr.length-1;i++){
				for(int j=i+1;j<arr.length;j++){
					if(arr[i]!=null&&arr[j]!=null){
						if(arr[i].getC_shar()<arr[j].getC_shar()){
							Student t=arr[i];
							arr[i]=arr[j];
							arr[j]=t;
						}
					}
				}

			}
		}
		if(number==3){
			for(int i=0;i<arr.length-1;i++){
				for(int j=i+1;j<arr.length;j++){
					if(arr[i]!=null&&arr[j]!=null){
						if(arr[i].getHtml()<arr[j].getHtml()){
							Student t=arr[i];
							arr[i]=arr[j];
							arr[j]=t;
						}
					}
				}

			}
		}
		if(number==4){
			for(int i=0;i<arr.length-1;i++){
				for(int j=i+1;j<arr.length;j++){
					if(arr[i]!=null&&arr[j]!=null){
						if(arr[i].getSql()<arr[j].getSql()){
							Student t=arr[i];
							arr[i]=arr[j];
							arr[j]=t;
						}
					}
				}

			}
		}
		this.print(arr);
	}
	public void sumSort(Student[]arr){//根據總分進行排序
		for(int i=0;i<arr.length-1;i++){
			for(int j=i+1;j<arr.length;j++){
				if(arr[i]!=null&&arr[j]!=null){
					if(arr[i].getSum()<arr[j].getSum()){
						Student t=arr[i];
						arr[i]=arr[j];
						arr[j]=t;
					}
				}
			}

		}
		this.print(arr);
	}
	public void aveSort(Student[]arr){//根據總分進行排序
		for(int i=0;i<arr.length-1;i++){
			for(int j=i+1;j<arr.length;j++){
				if(arr[i]!=null&&arr[j]!=null){
					if(arr[i].getAve()<arr[j].getAve()){
						Student t=arr[i];
						arr[i]=arr[j];
						arr[j]=t;
					}
				}
			}

		}
		this.print(arr);
	}
}



發佈了30 篇原創文章 · 獲贊 10 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章