~~~
package studentM;
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].setAvg();
System.out.println(arr[i]);
}
}
}
/**
* 添加學生
* @param name
* @param age
* @param arr
*/
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==-999){
System.out.println("學生人數已到最大,不能再添加了");
}else{
arr[i]=stu;
}
this.print(arr);
}
/**
* 查詢
*/
public void select(int on,Student[] arr){
for(int i=0;i<arr.length;i++){
if(this.exist(on, arr[i])){
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("更新學生信息成功");
this.print(arr);
return;
}
}
System.out.println("沒有這個學生的存在~~");
}
/**
* 刪除
*/
public void delete(int on ,Student[] arr){
for(int i=0;i<arr.length;i++){
if(this.exist(on, arr[i])){
arr[i]=null;
System.out.println("刪除成功");
this.print(arr);
return;
}
}
System.out.println("沒有這個學生的存在~~");
}
/**
* 判斷數組為空的下標
* @param arr
* @return
*/
public int setIndex(Student[] arr){
for(int i=0;i<arr.length;i++){
if(arr[i]==null){
return i;
}
}
return -999;
}
/**
* 判斷學生是否存在
*/
public boolean exist(int on,Student stu){
if(stu!=null){
if(stu.getOn()==on){
return true;
}else{
return false;
}
}
return false;
}
/**
* 輸入學生成績
*/
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成績");
if(in.hasNextInt()){//判斷是否輸入的是整形嗎?返回值為boolean
arr[i].setJava(in.nextInt());
}
System.out.println("請輸入"+arr[i].getName()+"的C#成績");
if(in.hasNextInt()){
arr[i].setC_shar(in.nextInt());
}
System.out.println("請輸入"+arr[i].getName()+"的html成績");
if(in.hasNextInt()){
arr[i].setHtml(in.nextInt());
}
System.out.println("請輸入"+arr[i].getName()+"的sql成績");
if(in.hasNextInt()){
arr[i].setSql(in.nextInt());
}
this.print(arr);
return;
}
}
System.out.println("沒有這個學生的存在~~");
}
/**
* 根據指定的科目排序
*/
public void courseSort(int num,Student[] arr){
if(num==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;
}
}
}
}
}else if(num==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;
}
}
}
}
}else if(num==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;
}
}
}
}
}else if(num==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);
}
}
~~~
- 書寫心得
- 1.初識Java
- 2.變量、數據類型和運算符
- 實例:數據的輸入
- 實例:變量互換
- 3.條件選擇結構
- 案例:判斷年份是否為閏年
- 案例:生成隨機數
- 實例:剪刀石頭布
- 4.循環結構
- 實例:猜數字游戲
- Myeclipse
- 實例:九九乘法表
- 實例:日歷
- 5.數組
- JVM內存分析
- 鍵盤錄入賦值數組
- 數組的length屬性
- 數組的最大值(打擂臺)
- 數組的排序
- 數組復制算法
- 數組的查找算法(搜索)
- 數組的插入算法
- 數組的冒泡算法
- 數組的選擇排序
- 多維數組
- 實例:學生成績管理系統
- 類和對象
- 概念
- 內存分析
- 創建類和對象
- 面向對象與內存分析
- 有參數無(有)返回值的調用
- 成員變量
- return和多參方法
- toString方法
- this關鍵字
- 封裝
- 方法的重載
- 構造方法
- 階段性總結
- 實例:學生管理系統
- Test.java
- Student.java
- Admin.java
- 構造代碼塊及構造函數之間的調用
- main方法和靜態應用工具類及classpath
- static關鍵字
- 文檔注釋和靜態代碼塊及單例模式
- 繼承
- 多態
- 匿名對象和toString()和equals及final
- 抽象類和模板方法設計模式
- 接口
- 包機制和包與包之間的訪問權限和jar包