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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章