~~~
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包