題目要求:定義一個(gè)表示學(xué)生信息的類,要求如下:(1)學(xué)生的屬性包括:學(xué)號(hào)、姓名、性別、年齡和課程成績(jī)(5門課,其中包括Java);(2)創(chuàng)建帶參數(shù)的構(gòu)造方法;(3)獲取學(xué)生的屬性信息;(4)根據(jù)學(xué)生類,創(chuàng)建五個(gè)該類的對(duì)象,要求對(duì)象數(shù)組,并打印五個(gè)學(xué)生的Java課程成績(jī)的平均值,并輸出成績(jī)的最大值(分?jǐn)?shù)和學(xué)生名)和最小值(分?jǐn)?shù)和學(xué)生名)。
實(shí)現(xiàn)效果視頻:【JAVA】類與對(duì)象(實(shí)驗(yàn))_嗶哩嗶哩_bilibili
思路構(gòu)建:創(chuàng)建學(xué)生屬性property類,然后定義對(duì)象數(shù)組分別記錄五個(gè)人的成績(jī),接著構(gòu)造函數(shù)初始化他們的值,然后創(chuàng)建函數(shù)分別返回對(duì)應(yīng)的學(xué)生名,學(xué)號(hào),性別,年齡和課程成績(jī),再創(chuàng)建一個(gè)test測(cè)試類創(chuàng)建五個(gè)該類的對(duì)象,然后計(jì)算五個(gè)學(xué)生的課程成績(jī)平均值,并且默認(rèn)第一個(gè)人的java成績(jī)同時(shí)是最大值和最小值,用for循環(huán)遍歷五個(gè)學(xué)生的java成績(jī),比最大值大的將值賦給最大值,最小值同理,得出最大值和最小值。
學(xué)生屬性類代碼如下:
package message;
public class property {
int num;
String name;
char gender;
int age;
double grades[] = new double[5];
property(int a, String b, char c, int d, double e, double f, double g, double h, double i) {
this.num = a;
this.name = b;
this.gender = c;
this.age = d;
this.grades[0] = e;
this.grades[1] = f;
this.grades[2] = g;
this.grades[3] = h;
this.grades[4] = i;
}
public int getNum() {
return num;
}
public String getName() {
return name;
}
public char getGender() {
return gender;
}
public int getAge() {
return age;
}
public double getChinese() {
return grades[0];
}
public double getMath() {
return grades[1];
}
public double getEnglish() {
return grades[2];
}
public double getJava() {
return grades[3];
}
public double getC() {
return grades[4];
}
}
構(gòu)造函數(shù)的形參偷懶用了abcd這種字母,最好還是對(duì)應(yīng)比如num就是num這樣,方便主函數(shù)賦值時(shí)觀看數(shù)據(jù)名稱。
test測(cè)試類代碼如下:
package message;
public class test {
public static void main(String[] args) {
property stu[] = new property[5];
stu[0] = new property(1, "小1", '男', 18, 97, 94, 95, 96, 88);
stu[1] = new property(2, "小2", '女', 17, 90, 90, 91, 91, 86);
stu[2] = new property(3, "小3", '女', 19, 60, 70, 80, 94, 83);
stu[3] = new property(4, "小4", '男', 18, 77, 94, 60, 95, 81);
stu[4] = new property(5, "小5", '男', 18, 85, 100, 93, 97, 86.5);
double aver = (stu[0].grades[3] + stu[1].grades[3] + stu[2].grades[3] + stu[3].grades[3] + stu[4].grades[3]) / 5;
System.out.println("平均值"+aver);
double max = stu[0].grades[3];
double min = stu[0].grades[3];
int i = 0, j = 0, k = 0;
for (; i < 5; i++) {
if (max < stu[i].grades[3]) {
max = stu[i].grades[3];
j = i;
}
}
System.out.println("java最高分" + max + stu[j].name);
for (i=0; i < 5; i++) {
if (min > stu[i].grades[3]) {
min = stu[i].grades[3];
k = i;
}
}
System.out.println("java最低分" + min + stu[k].name);
}
}
運(yùn)行結(jié)果:
?
測(cè)試類中創(chuàng)建了對(duì)象數(shù)組,并對(duì)這幾個(gè)數(shù)組元素賦值,包括學(xué)號(hào),名字,性別和五門課的成績(jī)。
在計(jì)算java成績(jī)的最大值和最小值時(shí),將第一個(gè)同學(xué)的java成績(jī)同時(shí)設(shè)為最大值和最小值,再遍歷所有數(shù)組元素,每次遇到j(luò)ava成績(jī)比這個(gè)值高的就改變最大值,最小值同理。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-723248.html
可以更改的部分:在測(cè)試類中,每次使用成績(jī)都是直接引用學(xué)生屬性類property的成員變量,其實(shí)也可以調(diào)用設(shè)置的獲取成績(jī)方法,如求成績(jī)平均值時(shí)就可以調(diào)用stu[0].getJava()來(lái)返回這個(gè)學(xué)生的java成績(jī)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-723248.html
到了這里,關(guān)于【Java】定義一個(gè)表示學(xué)生信息的類,要求如下:(1)學(xué)生的屬性包括:學(xué)號(hào)、姓名、性別、年齡和課程成績(jī)(5門課,其中包括Java);的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!