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