对象数组(类和对象实验二)

对象数组(类和对象实验二)

题目描述

   课堂上我们谈到类类型这个概念,比如第一题我们有学生类这个抽象的概念,成千上万个学生都具有同样的属性,但针对某个具体学生来说,他/她具有自己的鲜明个性,比如计算机专业的王海同学,信息工程学院的李慧同学,那么我们是定义一个该类的变量:  Student  student; 假设该类包含姓名、学号、性别、所属学院、联系电话等;在程序运行过程,把变量student赋予不同值就可以让它表示是王海还是李慧,尝试定义一个学生数组(比如四个元素大小,请思考此时四个对象是如何初始化的呢?调用的是那个构造方法?),然后输入四个不同学生各项属性给数组里学生初始化(最好定义一个输入函数),然后输出该学生对象数组的各对象的姓名。

输入

输入数组元素的大小

依次每行输入每个对象的各项属性值

输出

每行输出一个学生类对象的姓名

样例输入

3
tom 2013333333 男 计算机学院 13766666666
Marry 2012222222 女 信息工程学院 13555555555
John 2014444444 男 管理学院 13888888888

样例输出

tom
Marry
John

【my code】

#include <iostream>
using namespace std;

class Stu{
private:
	string name, id, sex, col, tel;
public:
	Stu(){}
	Stu(string n, string d, string s, string c, string t)
		:name(n), id(d), sex(s),col(c), tel(t) {}
	void input(string n, string d, string s, string c, string t) {
		name = n;
		id = d;
		sex = s;
		col = c;
		tel = t;
	}
	void show() {
		cout << name << endl;
	}
};

int main() {
	int t;
	cin >> t;
	Stu *stu = new Stu[t];
	for(int i = 0; i < t; i++) {
		string name, id, sex, col, tel;
		cin >> name >> id >> sex >> col >> tel;
		stu[i].input(name, id, sex, col, tel);
	}
	for(int i = 0; i < t; i++) {
		stu[i].show();
	}
	return 0;
}

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本次实验主要涉及到数组和方法的使用。 一、数组的使用 数组是一组相同类型的数据的集合,可以通过下标来访问和操作数组中的元素。在本次实验中,我们主要使用了一维数组数组。 1. 一维数组 一维数组是最简单的数组类型,可以用来存储一组相同类型的数据。在本次实验中,我们通过一维数组来存储学生的成绩信息。具体实现方法如下: ```java int[] scores = new int[]{80, 90, 70, 85, 95}; ``` 上述代码定义了一个包含5个元素的一维数组,分别存储了5个学生的成绩信息。 2. 数组 数组是由多个一维数组组成的数组,可以用来存储表格数据等维结构。在本次实验中,我们通过数组来存储学生的基本信息和成绩信息。具体实现方法如下: ```java int[][] students = new int[][]{ {1, "张三", 80, 90, 70}, {2, "李四", 85, 95, 75}, {3, "王五", 90, 80, 85}, {4, "赵六", 70, 75, 80}, {5, "钱七", 75, 85, 90} }; ``` 上述代码定义了一个包含5个元素的数组,每个元素都是一个一维数组,包含学生的编号、姓名和三门课程的成绩信息。 、方法的使用 方法是一组执行特定任务的语句集合,可以通过方法名来调用并执行其中的语句。在本次实验中,我们主要使用了静态方法和非静态方法。 1. 静态方法 静态方法是在类级别上定义的方法,可以通过类名直接调用。在本次实验中,我们通过静态方法来计算学生的平均分和总分。具体实现方法如下: ```java public static double getAverage(int[] scores) { double sum = 0; for (int score : scores) { sum += score; } return sum / scores.length; } public static int getTotal(int[] scores) { int sum = 0; for (int score : scores) { sum += score; } return sum; } ``` 上述代码定义了两个静态方法,分别用于计算学生的平均分和总分。这两个方法都接受一个一维数组作为参数,并返回计算结果。 2. 非静态方法 非静态方法是在对象级别上定义的方法,必须先创建对象后才能调用。在本次实验中,我们通过非静态方法来输出学生的信息。具体实现方法如下: ```java public void printInfo() { System.out.println("编号:" + id); System.out.println("姓名:" + name); System.out.println("语文成绩:" + chineseScore); System.out.println("数学成绩:" + mathScore); System.out.println("英语成绩:" + englishScore); } ``` 上述代码定义了一个非静态方法,用于输出学生的信息。这个方法不接受任何参数,并将学生的基本信息和成绩信息输出到控制台。 三、实验总结 通过本次实验,我深入了解了数组和方法的使用。数组可以用来存储一组相同类型的数据,而方法可以定义一组执行特定任务的语句集合。在实际开发中,数组和方法都是非常常用的工具,能够提高代码的可读性和复用性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值