1.编写一个数组使用的程序,完成下述功能:
(1)定义一个学生类Student,
包含必要的属性,如学号、姓名、年龄、班级等信息;
利用类封装的思想,设置各属性的访问控制特性,并定义相应属性的赋值与获取属性值方法,使该类只能通过方法来处理和调用属性而不能直接对属性进行操作;
充分利用上述方法,定义显示学生完整信息的方法
(2)设计主类StudentDisplayDemo,完成功能:
创建能存放5位学生信息的一维数组,
利用交互式方式完成每位学生完整信息的输入,输入过程中要充分考虑属性的访问控制性以及程序本身的流程控制结构(如循环结构),
利用Student已有的显示方法完成数组中各元素的学生信息的显示。
(3)试着依据各学生的年龄对数组进行由小到大的排序操作,并重新显示排序后的学生信息。
package com.imooc.demo;
import java.util.Scanner;
public class StudentDisplayDemo {
public static int STUDENT_NUM =5;//学生数
public static void main(String[] args) {
// 创建能存放5位学生信息的一维数组
Student[] students = new Student[STUDENT_NUM];
// 创建读取输入对象
Scanner sc = new Scanner(System.in);
// 循环交互输入
for (int i = 0; i < STUDENT_NUM; i++) {
Student stu = new Student();
System.out.println("输入第" + (i+1) + "个学生的信息");
System.out.println("学号:");
stu.setCode(sc.nextLine());
System.out.println("姓名:");
stu.setName(sc.nextLine());
System.out.println("年龄:");
int age = Integer.parseInt(sc.nextLine());
stu.setAge(age);
System.out.println("班级:");
stu.setGrade(sc.nextLine());
students[i] = stu;
}
// 按照年龄排序
for (int i = 0; i < STUDENT_NUM; i++) {
for (int j = i; j < STUDENT_NUM; j++) {
if (students[i].getAge() > students[j].getAge()) {
Student temp = students[i];
students[i] = students[j];
students[j] = temp;
}
}
}
//打印
System.out.println("按照年龄从小到大排列:");
for(int i=0; i<STUDENT_NUM; i++){
Student stu = students[i];
System.out.println("学号:"+stu.getCode()+" 姓名:"+stu.getName()+" 年龄:"+stu.getAge()+" 班级:"+stu.getGrade());
}
}
}
class Student {
private String code;// 学号
private String name;// 姓名
private int age;// 年龄
private String grade;// 年级
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getGrade() {
return grade;
}
public void setGrade(String grade) {
this.grade = grade;
}
}
为什么求助呐,慢慢学就会了。
我也是刚刚学会的,告诉你就是害你。