- 定义一个表示学生信息的类Student,要求如下:
(1)类Student的成员变量:
id表示学号;name表示姓名;gender表示性别;age表示年龄;java表示Java课程成绩。
(2) 在定义一个print()方法,输出student对象的 name,gender,age,java的值(即输出学生信息)
(3)根据类Student的定义,创建五个该类的对象,输出每个学生的信息,计算并输出这五个学生Java语言成绩的平均值,
提示: 数组既可以存储基本数据类型的值,也可以存储引用数据类型的值
因此,5个Student对象可以放在一个Student数组中
Student[] students = new Student[5];
students[1] = student对象的引用
//求最大值,最小值,平均值,都可以通过循环遍历 students数组来完成
package Q1;
class Student {
int id;
String name;
String gender;
int age;
int java;
public Student() {}
public Student(int id, String name, String gender, int age, int java) {
set(id, name, gender, age, java);
}
public void set(int id, String name, String gender, int age, int java) {
this.id = id;
this.name = name;
this.gender = gender;
this.age = age;
this.java = java;
}
public void print() {
System.out.println("id:" + id + " name:" + name + " gender:" + gender + " age:" + age + " java:" + java);
}
}
public class DoStudent {
public static void main(String[] args) {
Student[] stu = new Student[5];
for (int i = 0; i < 5; i++) {
stu[i] = new Student();
}
stu[0].set(1, "Jack", "Male", 18, 80);
stu[1].set(2, "Marry", "Female", 18, 70);
stu[2].set(3, "Senorita", "Female", 18, 90);
stu[3].set(4, "Martin", "Male", 18, 80);
stu[4].set(5, "Zeka", "Male", 18, 70);
double average = 0;
for (int i = 0; i < 5; i++) {
stu[i].print();
average += stu[i].java;
}
average /= 5;
System.out.println("The average is:" + average);
}
}
-
写一个数组的工具类ArrayTool, 要求提供
遍历,求最大值,最小值,逆置数组元素,查表(在数组中查找指定元素,若不存在,待查找元素返回-1,若存在返回元素在数组中首次出现的位置),找元素在int类型数组(int[])中最后出现的索引等操作。提示:所谓工具类,就是一个类中定义的都是静态方法,这样的类称为工具类。工具类中定义的静态方法 就是工具方法,所谓工具方法,简单来说,就是该方法实现了一些公用的功能,为了方便使用,定义为工具方法
比如我们之前用过的Arrays.toString(数组),就是一个工具方法,工具方法处理的都是方法参数传递的数据。
比如定义一个查找数组最大值的方法,在工具类中就可以这样定义
class ArrayTool{
/*
查找数组中的最大值
*/
public static int max(int[] a) {
}
}
package Q2;
class ArrayTool{
//遍历
public static void Traversal(int[] a) {
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
}
//最大值
public static int max(int[] a){
int Max = a[0];
for (int i = 1; i < a.length; i++) {
if (a[i] > Max)
Max = a[i];
}
return Max;
}
//最小值
public static int min(int[] a){
int Min = a[0];
for (int i = 1; i < a.length; i++) {
if (a[i] < Min)
Min = a[i];
}
return Min;
}
//逆置
public static void reverse(int[] a){
int tmp;
for (int i = 0; i < a.length/2; i++) {
tmp = a[i];
a[i] = a[a.length - i - 1];
a[a.length - i - 1] = tmp;
}
}
//查表
public static int find(int[] a, int n){
for (int i = 0; i < a.length; i++) {
if(a[i] == n)
return i;
}
return -1;
}
//最后索引
public static int findlast(int[] a, int n){
int index = -1;
for (int i = 0; i < a.length; i++) {
if (a[i] == n)
index = i;
}
return index;
}
}
public class Tool {
}