3.对象数组题目\n 定义类student,包含三个属性:学号number(int),年级state(int),成绩score(int)。创建20个学生对象,学号为1到20,年级和成绩都由随机
时间: 2023-04-30 07:05:39 浏览: 168
这道题目中,要求定义一个类叫做“student”,包含三个属性:学号(number,整型),年级(state,整型)和成绩(score,整型)。需要创建20个学生对象,学号从1到20,年级和成绩都是随机的。
相关问题
用java定义类Student,包含三个属性:学号number(int),年级state(int).成绩score(int)。创建20个学生对象,学号为1到20,年级和成绩都由随机数确定。问题一:打印出3年级(state值为3)的学生信息。 问题二:使用冒泡排序按学生成绩排序,并遍历所有学生信息
好的,我会为您解答这两个问题。
问题一:打印出3年级(state值为3)的学生信息。
```java
import java.util.Random;
public class Student {
private int number;
private int state;
private int score;
public Student(int number, int state, int score) {
this.number = number;
this.state = state;
this.score = score;
}
public int getNumber() {
return number;
}
public int getState() {
return state;
}
public int getScore() {
return score;
}
public static void main(String[] args) {
// 创建20个学生对象
Student[] students = new Student[20];
Random random = new Random();
for (int i = 0; i < 20; i++) {
students[i] = new Student(i + 1, random.nextInt(6) + 1, random.nextInt(101));
}
// 打印出3年级的学生信息
System.out.println("3年级的学生信息如下:");
for (int i = 0; i < 20; i++) {
if (students[i].getState() == 3) {
System.out.println("学号:" + students[i].getNumber() + ",年级:" + students[i].getState() + ",成绩:" + students[i].getScore());
}
}
}
}
```
问题二:使用冒泡排序按学生成绩排序,并遍历所有学生信息
```java
import java.util.Random;
public class Student {
private int number;
private int state;
private int score;
public Student(int number, int state, int score) {
this.number = number;
this.state = state;
this.score = score;
}
public int getNumber() {
return number;
}
public int getState() {
return state;
}
public int getScore() {
return score;
}
public static void main(String[] args) {
// 创建20个学生对象
Student[] students = new Student[20];
Random random = new Random();
for (int i = 0; i < 20; i++) {
students[i] = new Student(i + 1, random.nextInt(6) + 1, random.nextInt(101));
}
// 使用冒泡排序按学生成绩排序
for (int i = 0; i < 19; i++) {
for (int j = 0; j < 19 - i; j++) {
if (students[j].getScore() > students[j + 1].getScore()) {
Student temp = students[j];
students[j] = students[j + 1];
students[j + 1] = temp;
}
}
}
// 遍历所有学生信息
System.out.println("所有学生信息如下:");
for (int i = 0; i < 20; i++) {
System.out.println("学号:" + students[i].getNumber() + ",年级:" + students[i].getState() + ",成绩:" + students[i].getScore());
}
}
}
```
Black.: 操作题1 定义Student类,包含三个属性:学号number(int),年级state(int),成绩score(float);键盘输入20个学生对象,学号为1~20个,年级(1~4)和成绩(0~100,要为浮点数)都由随机数确定。 实现功能:1.打印出4年级(即state==4时)的学生信息;2.使用冒泡排序按学生成绩降序排序,并遍历所有学生信息。 Black.: [图片]
C知道: 以下是定义Student类的代码:
```c++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
class Student {
public:
int number;
int state;
float score;
};
int main() {
srand(time(NULL)); // 初始化随机数种子
Student students[20];
for (int i = 0; i < 20; i++) {
students[i].number = i + 1;
students[i].state = rand() % 4 + 1;
students[i].score = rand() % 101 / 10.0;
}
cout << "4年级学生信息:" << endl;
for (int i = 0; i < 20; i++) {
if (students[i].state == 4) {
cout << "学号:" << students[i].number << " 年级:" << students[i].state << " 成绩:" << students[i].score << endl;
}
}
cout << "按成绩降序排序后的学生信息:" << endl;
for (int i = 0; i < 19; i++) {
for (int j = 0; j < 19 - i; j++) {
if (students[j].score < students[j + 1].score) {
Student temp = students[j];
students[j] = students[j + 1];
students[j + 1] = temp;
}
}
}
for (int i = 0; i < 20; i++) {
cout << "学号:" << students[i].number << " 年级:" << students[i].state << " 成绩:" << students[i].score << endl;
}
return 0;
}
```
这段代码定义了一个名为Student的类,包含三个属性:学号number、年级state和成绩score。然后在主函数中,使用随机数生成20个学生对象,并按照要求打印出4年级学生信息和按成绩降序排序后的学生信息。
注意:这段代码中使用了srand函数来初始化随机数种子,以保证每次运行程序生成的随机数都不同。
阅读全文