编写一个学生类,其中属性至少包含学号,姓名,用setSid()方法实现随机生成四位数的学号,能调用setSid()方法的构造方法
时间: 2023-06-10 12:04:12 浏览: 115
好的,我会帮你回答这个问题。以下是一个示例的学生类代码,包含学号,姓名,以及实现随机生成学号的 setSid() 方法:
```python
import random
class Student:
def __init__(self, name):
self.name = name
self.sid = ""
# 调用 setSid() 方法,生成学号
self.setSid()
# 生成四位数的学号
def setSid(self):
self.sid = str(random.randint(1000, 9999))
# 打印学生信息
def printInfo(self):
print("姓名:", self.name)
print("学号:", self.sid)
# 示例使用
student = Student("张三")
student.printInfo()
```
以上代码中,生成学号的代码在 setSid() 方法中实现了。构造方法 __init__() 中,调用了 setSid() 方法,保证了每个学生都能有唯一的学号。如果你需要添加其他的属性,可以在构造方法中继续添加。
相关问题
编写一个Java源程序,该源文件中有2个类:Student类和Test1类(公共类),分别用来刻画“学生”和测试用类,具体要求如下: a) 学生包含姓名(sname)、学号(sid)、年龄(age)属性信息。 b) 定义每个成员变量的get/set方法 c)定义学生类的带参和不带参构造方法 d)重写学生类的toString()方法 c) 编写一个测试类Test1,创建一个2个长度的学生类数组。信息如下: 学生1信息:张三,1001,23 学生2信息:李四,1002,22 最后,遍历输出数组中的学生信息。
代码如下:
Student类:
public class Student {
private String sname; // 姓名
private String sid; // 学号
private int age; // 年龄
// 带参构造方法
public Student(String sname, String sid, int age) {
this.sname = sname;
this.sid = sid;
this.age = age;
}
// 不带参构造方法
public Student() {}
// get/set方法
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public String getSid() {
return sid;
}
public void setSid(String sid) {
this.sid = sid;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
// 重写toString()方法
public String toString() {
return "姓名:" + this.sname + ",学号:" + this.sid + ",年龄:" + this.age;
}
}
Test1类:
public class Test1 {
public static void main(String[] args) {
Student[] students = new Student[2];
students[0] = new Student("张三", "1001", 23);
students[1] = new Student("李四", "1002", 22);
// 遍历输出学生信息
for (int i = 0; i < students.length; i++) {
System.out.println("学生" + (i+1) + "信息:" + students[i].toString());
}
}
}
设计一个学生类student,包含学生学号(最长10位)、姓名(不用支持中文最长12位)、三
门课程成绩(分别为语文、数学、英语)三个属性。实现以下方法:
1. 构造方法,传入学号、姓名、三门课程成绩,初始化对象;
2. get方法,分别获取学号、姓名、三门课程成绩;
3. set方法,分别设置学号、姓名、三门课程成绩;
4. calcAvgScore方法,计算三门课程成绩的平均分;
5. toString方法,返回学生对象的字符串表示。
代码如下:
```python
class Student:
def __init__(self, sid, name, chinese, math, english):
self.sid = sid
self.name = name
self.chinese = chinese
self.math = math
self.english = english
def getSid(self):
return self.sid
def setSid(self, sid):
self.sid = sid
def getName(self):
return self.name
def setName(self, name):
self.name = name
def getChinese(self):
return self.chinese
def setChinese(self, chinese):
self.chinese = chinese
def getMath(self):
return self.math
def setMath(self, math):
self.math = math
def getEnglish(self):
return self.english
def setEnglish(self, english):
self.english = english
def calcAvgScore(self):
return (self.chinese + self.math + self.english) / 3
def __str__(self):
return f"Student(sid={self.sid}, name={self.name}, chinese={self.chinese}, math={self.math}, english={self.english})"
```
使用示例:
```python
s = Student("10000001", "张三", 90, 85, 95)
print(s)
print(s.calcAvgScore())
s.setEnglish(80)
print(s.getEnglish())
```
输出结果:
```
Student(sid=10000001, name=张三, chinese=90, math=85, english=95)
90.0
80
```
阅读全文