package OOP.Exercises;
/*
4.对象数字题目:
定义类Student,包含三个属性:学号number(int),年级state(int),成绩score(int)。
创建20个学生对象,学号为1到20,年级和成绩都由随机数确定。
问题一:打印出3年级(state值为3)的学生信息。
问题二:使用冒泡排序按学生成绩排序,并遍历所有学生信息
提示:
1) 生成随机数:Math。random()。返回值类型double;
2) 四舍五入取整:Math。round(double d)。返回值类型long。
*/
public class StudentTest {
public static void main(String[] args) {
//声明一个Student类型的数组
Student[] stua = new Student[20];
for (int i=0; i<stua.length; i++){
//给数组元素赋值
stua[i] = new Student();
//给Student对象的属性赋值
stua[i].number = (i+1);
//年级
stua[i].state = (int)(Math.random() * (6 -1 + 1) + 1);
//成绩[0,100]
stua[i].score = (int)(Math.random() * (100 - 0 + 1));
}
for (int i=0; i<stua.length; i++){
//System.out.println(stua[i].number + "," + stua[i].state + "," + stua[i].score);
System.out.println(stua[i].info());
}
System.out.println("**********************");
//问题一:打印出3年级(state值为3)的学生信息。
for (int i=0; i<stua.length; i++){
if (stua[i].state == 3){
System.out.println(stua[i].info());
}
}
System.out.println("**********************");
//问题二:使用冒泡排序按学生成绩排序,并遍历所有学生信息
for (int i=0; i<stua.length - 1; i++){
for (int j=0; j<stua.length - 1 - i; j++){
if (stua[j].score > stua[j + 1].score){
//如果需要换序,交换的是数组的元素,Student对象!!!
Student temp = stua[j];
stua[j] = stua[j+1];
stua[j+1] =temp;
}
}
}
//遍历学生数组
for (int i=0; i<stua.length; i++){
System.out.println(stua[i].info());
}
}
}
class Student{
int number;//学号
int state;//年级
int score;//成绩
//显示学生信息的方法
public String info(){
return "学号:" + number + ",年级" + state + ",成绩" + score;
}
}
package OOP.Exercises;
/*
4.对象数字题目:
定义类Student,包含三个属性:学号number(int),年级state(int),成绩score(int)。
创建20个学生对象,学号为1到20,年级和成绩都由随机数确定。
问题一:打印出3年级(state值为3)的学生信息。
问题二:使用冒泡排序按学生成绩排序,并遍历所有学生信息
提示:
1) 生成随机数:Math。random()。返回值类型double;
2) 四舍五入取整:Math。round(double d)。返回值类型long。
*/
public class StudentTest {
public static void main(String[] args) {
//声明一个Student类型的数组
Student[] stua = new Student[20];
for (int i=0; i<stua.length; i++){
//给数组元素赋值
stua[i] = new Student();
//给Student对象的属性赋值
stua[i].number = (i+1);
//年级
stua[i].state = (int)(Math.random() * (6 -1 + 1) + 1);
//成绩[0,100]
stua[i].score = (int)(Math.random() * (100 - 0 + 1));
}
for (int i=0; i<stua.length; i++){
//System.out.println(stua[i].number + "," + stua[i].state + "," + stua[i].score);
System.out.println(stua[i].info());
}
System.out.println("**********************");
//问题一:打印出3年级(state值为3)的学生信息。
for (int i=0; i<stua.length; i++){
if (stua[i].state == 3){
System.out.println(stua[i].info());
}
}
System.out.println("**********************");
//问题二:使用冒泡排序按学生成绩排序,并遍历所有学生信息
for (int i=0; i<stua.length - 1; i++){
for (int j=0; j<stua.length - 1 - i; j++){
if (stua[j].score > stua[j + 1].score){
//如果需要换序,交换的是数组的元素,Student对象!!!
Student temp = stua[j];
stua[j] = stua[j+1];
stua[j+1] =temp;
}
}
}
//遍历学生数组
for (int i=0; i<stua.length; i++){
System.out.println(stua[i].info());
}
}
}
class Student{
int number;//学号
int state;//年级
int score;//成绩
//显示学生信息的方法
public String info(){
return "学号:" + number + ",年级" + state + ",成绩" + score;
}
}