题目:
定义类Student,包含三个属性:学号number(int),年级state(int),成绩 score(int)。
创建20个学生对象,学号为1到20,年级和成绩都由随机数确定。
问题:打印出3年级(state值为3)的学生信息。
提示:生成随机数:Math.random(),返回值类型double; (Matn为工具类)([0,1})
要求:
在这里,要求我们打印出3年级(state值为3)的学生信息。
提示:
Matn为工具类,这里这个提示也可以说是一个要求,因为随机数的话,我们也可以通过Random方法,获取随机数。
因为是对象练习题,所以我们在这里先创建类:
package com.itheima_00;
import java.util.Random;
//在这里因为年级不用Matn为工具类,所以我在这里还是用了random工具类。
public class Student {
int number;//定义学号
int state;//定义年级
int score;//定义成绩
public void a(int[] number){//因为是二十个学生学号依次从1至20,所以在这里用数组。
int b=1;
for(int i = 0; i<number.length;i++){
number[i]=b;
b++;
/*定义学号,我们知道动态初始化定义的数组系统自动赋值为0,
所以在这里我们通过重新定义一个b来给数组每一个元素赋值。*/
int a = (int)(Math.random()*100);
/*接收成绩,因为题目定义成绩为int类型,而接受数据要double类型,
所以在这里我们需要用到强制转换,因为math工具类的区间为[0,1},
分数我们在这里取值为0~100*/
Random c = new Random();
int aa = c.nextInt(4)+1;
/*在这里我们接收年级的随机数据,因为random工具类的区间为左闭右开,
所以我们想要去除零,我们要在这个区间整体加一。*/
state=aa;
score=a;
if(state ==3){
System.out.println("学号:"+ (i+1) +"\n"+"年级:"+state+"\n"+"成绩:"+score);
/*因为要求打印出3年级的学生的成绩,所以在这里用if语句判断出为3的随机数执行,这样我们整个代码就完成了。*/
}
}
}
}
接下来就是测试类了:
package com.itheima_00;
public class Students {
public static void main(String[] args) {
int[] number=new int[20];
//创建一个元素为20的数组
Student s=new Student();
//创建对象
s.a(number);
//调用方法
}
}