十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
下面是一个存储班级三十名学生基本信息的 Java 代码示例:
成都创新互联是一家专业提供菏泽企业网站建设,专注与网站设计制作、成都网站设计、HTML5建站、小程序制作等业务。10年已为菏泽众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
import java.util.ArrayList;
public class Student {
private String name;
private int age;
private String gender;
public Student(String name, int age, String gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getGender() {
return gender;
}
}
public class Classroom {
private ArrayListStudent students;
public Classroom() {
this.students = new ArrayListStudent();
}
public void addStudent(Student student) {
students.add(student);
}
public ArrayListStudent getStudents() {
return students;
}
}
public class Main {
public static void main(String[] args) {
Classroom classroom = new Classroom();
// 添加 30 名学生的基本信息
classroom.addStudent(new Student("Tom", 18, "Male"));
classroom.addStudent(new Student("Alice", 19, "Female"));
// ...
// 此处省略 28 名学生的信息
// 获取所有学生的信息
ArrayListStudent students = classroom.getStudents();
for (Student student : students) {
System.out.println("Name: " + student.getName());
System.out.println("Age: " + student.getAge());
System.out.println("Gender: " + student.getGender());
}
}
}
该代码定义了两个类:Student 类表示一个学生,包含了学生的姓名、年龄和性别等信息;Classroom 类表示一个班级,包含了一个学生的列表,并提供了添加学生和获取学生列表的方法。
在 Main 类的 main 方法中,我们首先实例化一个 Classroom 对象,然后依次添加 30 名学生的信息。最后,我们调用 getStudents 方法获取所
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Sort {
public static void main(String[] args) {
Student p1 = new Student(1001, "小明", 20);
Student p2 = new Student(1002, "小红", 21);
Student p3 = new Student(1003, "小黑", 19);
ListStudent list = new ArrayListStudent();
list.add(p1);
list.add(p2);
list.add(p3);
Collections.sort(list, new ComparatorStudent() {
/*
* int compare(Student o1, Student o2) 返回一个基本类型的整型, 返回负数表示:o1 小于o2,
* 返回0 表示:o1和o2相等, 返回正数表示:o1大于o2。
*/
public int compare(Student o1, Student o2) {
// 按照学生的学号进行升序排列
if (o1.getId() o2.getId()) {
return 1;
}
if (o1.getId() == o2.getId()) {
return 0;
}
return -1;
}
});
write(list);
System.out.println("---------------------");
Collections.sort(list, new ComparatorStudent() {
/*
* int compare(Student o1, Student o2) 返回一个基本类型的整型, 返回负数表示:o1 小于o2,
* 返回0 表示:o1和o2相等, 返回正数表示:o1大于o2。
*/
public int compare(Student o1, Student o2) {
// 按照学生的年龄进行升序排列
if (o1.getAge() o2.getAge()) {
return 1;
}
if (o1.getAge() == o2.getAge()) {
return 0;
}
return -1;
}
});
write(list);
}
public static void write(ListStudent list) {
for (Student s : list) {
System.out.println(s.getId() + "\t" + s.getName() + "\t"
+ s.getAge());
}
}
}
public class Student {
private int id ;
private String name;
private int age;
//构造方法
public Student(int id,String name,int age){
this.id = id;
this.name = name;
this.age = age;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
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;
}
}
java是面向对象的编程语言,一切皆为对象。本题虽然基础,但是特别有代表性。在做这类java编程时也应该引入面向对象的思维。
一学生类属性的定义:
1.拥有三个属性,姓名,年龄和专业
姓名,是用文字进行表述的,所以可以使用String 字符串类型
年龄,大家都说18,19岁,一般很少听人说18.725岁,所以我们可以使用int整数类型来表示
专业,也是用文字进行表述的,所以还是用String字符串类型
2. 修饰符:java为了更好的封装,所以属性一般要用private进行修饰,
但是可以用setter对属性进行修改,也可以用getter对属性进行读取
二构造方法的设计
为了符合java开发的规范和习惯,需要添加一个无参数的构造器。
有参数的构造方法,需要对属性进行初始化设置
三方法的设置
除开属性的setter和getter方法外。
符合开发规范,还需要重写toString方法。用于返回字符串
所以我们显示(打印)信息时,也可以直接调用toString返回的字符串,然后打印
四 参考代码和注释
学生类
public class Student {//定义学生类
private String name;//属性 姓名
private int age;//属性 年龄
private String major;//属性 专业
public Student() {//无参数的构造法: 为了符合java开发规范和习惯,添加一个无参构造器
}
public Student(String name, int age, String major) {//有参的构造方法,初始化属性
this.name = name;
this.age = age;
this.major = major;
}
public void ShowInfo(){//显示信息的方法
System.out.println(this);//打印时,自动调用toString方法,把该实例打印出来
}
public String toString() {//重写父类的toString方法,也是符合java规范的
return "【学生】\t姓名:"+name+"\t年龄:"+age+"\t专业:"+major;
}
//下面是属性的get和set方法,getter用于获取属性的值,setter用于设置或修改属性的值
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 getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
}
测试类
public class Test {
public static void main(String[] args) {
Student s1 = new Student("张三", 19, "汉语语言文学");//调用有参数的构造器,创建学生实例
s1.ShowInfo();//显示信息
Student s2 = new Student();//调用无参数的构造器,创建学生实例
s2.setName("李四");//设置属性的值
s2.setAge(20);
s2.setMajor("计算机科学与技术");
s2.ShowInfo();
}
}
测试结果
【学生】 姓名:张三 年龄:19 专业:汉语语言文学
【学生】 姓名:李四 年龄:20 专业:计算机科学与技术
五总结
通过这种基础编程,主要训练我们面向对象的思维,以及养成良好的编程习惯。
正规的写法,创建Student类,要有构造方法,重写toString方法,这个可以改为你需要的格式
public class Student {
private String number;
private String name;
private char sex;
private double[] score=new double[3];
private double ave;
private double sum;
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
public double[] getScore() {
return score;
}
public void setScore(double[] score) {
this.score = score;
}
public double getAve() {
return ave;
}
public void setAve(double ave) {
this.ave = ave;
}
public double getSum() {
return sum;
}
public void setSum(double sum) {
this.sum = sum;
}
@Override
public String toString() {
return "Student [number=" + number + ", name=" + name + ", sex=" + sex
+ ", score=" + Arrays.toString(score) + ", ave=" + ave
+ ", sum=" + sum + "]";
}
public Student() {
}
public Student(String number, String name, char sex, double[] score,
double ave, double sum) {
super();
this.number = number;
this.name = name;
this.sex = sex;
this.score = score;
this.ave = ave;
this.sum = sum;
}
然后你另外写一个类,里面有input 和 output方法来操作你的这个学生类。