.给出存储班级三十名学生基本信息的Java代码,基本信息的具体赋值由考生自拟?

.给出存储班级三十名学生基本信息的Java代码,基本信息的具体赋值由考生自拟?,第1张

下面是一个存储班级三十名学生基本信息的 Java 代码示例:

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 ArrayList<Student>students

public Classroom() {

this.students = new ArrayList<Student>()

}

public void addStudent(Student student) {

students.add(student)

}

public ArrayList<Student>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 名学生的信息

// 获取所有学生的信息

ArrayList<Student>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 方法获取所

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 专业:计算机科学与技术

五总结

通过这种基础编程,主要训练我们面向对象的思维,以及养成良好的编程习惯。

这里有一个类

实现学生学号,数学,语文,英语成绩录入

并且计算平均成绩,按照平均成绩高低输出信息

你可以改改!

//实现简单的学生信息输入输出和初步的成绩排序

public class Student {

private int id//学号

private int mathScore//数学成绩

private int chinScore//语文成绩

private int foreScore//外语成绩

public Student() {

id = 0

mathScore = 0

chinScore = 0

foreScore = 0

}

public Student(int newId, int newMathScore, int newChinSvore,

int newForeScore) {

id = newId

mathScore = newMathScore

chinScore = newChinSvore

foreScore = newForeScore

}

public double getAverageScore() { //求平均成绩

double averageScore = ((double) mathScore + chinScore + foreScore) / 3

return averageScore

}

public void output(Student student) { //输出对象的内容

System.out.println(" " + student.id + " " + student.mathScore +

"" + student.chinScore + " "

+ student.foreScore + " " +

student.getAverageScore())

}

public int max(Student a[], int n) { //Student类对象数组的前n项中的成绩最大值的索引

int position = 0

for (int i = 1i <ni++) {

if (a[i].getAverageScore() >a[position].getAverageScore()) { //比较平均成绩

position = i

}

}

return position

}

public void selectSort(Student a[]) { //Student类对象数组的选择排序

for (int n = a.lengthn >1n--) {

int i = max(a, n)

Student temp = a[i]

a[i] = a[n - 1]

a[n - 1] = temp

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11852532.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存