编写一个学生类,其中属性至少包含学号,姓名,用setSid()方法实现随机生成四位数的学号,能调用setSid()方法的构造方法,用Java实现
时间: 2023-08-31 18:40:06 浏览: 148
### 回答1:
好的,很高兴能够帮助您解决这个问题。以下是我编写的学生类代码,它包含学号和姓名属性,能够使用setSid()方法随机生成四位数的学号:
```java
import java.util.Random;
public class Student {
private String sid; // 学号
private String name; // 姓名
// 无参构造方法
public Student() {
setSid();
}
// 有参构造方法
public Student(String name) {
this.name = name;
setSid();
}
// 设置学号
public void setSid() {
// 生成随机四位数学号
Random random = new Random();
int num = random.nextInt(9000) + 1000;
this.sid = String.valueOf(num);
}
// 获取学号
public String getSid() {
return sid;
}
// 设置姓名
public void setName(String name) {
this.name = name;
}
// 获取姓名
public String getName() {
return name;
}
}
```
这份代码包含两个构造方法,一个是无参构造方法,一个是有参构造方法。使用无参构造方法创建学生对象时,会自动调用setSid()方法生成学号;使用有参构造方法创建学生对象时,也会自动调用setSid()方法生成学号,并且可以指定姓名。同时,getSid()和getName()方法用于返回学号和姓名。
### 回答2:
以下是一个用Java实现的学生类的示例:
```java
import java.util.Random;
public class Student {
private String sid; // 学号
private String name; // 姓名
public Student(String name) {
this.name = name;
setSid();
}
public void setSid() {
// 生成四位数的随机学号
Random rand = new Random();
int num = rand.nextInt(9000) + 1000;
this.sid = String.valueOf(num);
}
public String getSid() {
return this.sid;
}
public String getName() {
return this.name;
}
public static void main(String[] args) {
Student student = new Student("张三");
System.out.println("学号:" + student.getSid());
System.out.println("姓名:" + student.getName());
}
}
```
在上述示例中,我们定义了一个`Student`类,并且包含了以下属性:
- `sid`:用于保存学生的学号
- `name`:用于保存学生的姓名
在构造方法中,我们传入学生的姓名,并且调用`setSid()`方法来生成一个随机的四位数学号。
`setSid()`方法使用`Random`类来生成一个四位数的随机数,并将其转换为字符串保存在`sid`属性中。
最后,我们通过`getSid()`和`getName()`方法来获取学号和姓名,并在`main()`方法中打印出来。
阅读全文