package com.heima.ceshi;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.TreeMap;
public class 机测试9月9_2 {
/*
* 题目描述: 书写一个学生类,类名为Student, 学生类需要包含下面类成员变量 姓名(name 字符串类型), 学号(id 整型)
*
*
* 1. 编写无参构造方法.
*
* 2. 编写有参构造方法(参数依次为 姓名和id)
*
* 3. 编写一个方法,方法名为getAverangeScore,方法接收整型数组代表学员的所有考试成绩, 返回值为浮点类型的所有考试成绩平均分
*
*
* 4. 编写一个方法,方法名printLevel,方法接收整型参数, 返回值为空, 打印学生的等级 如果平均分大于等于90打印: A
* 如果平均分大于等于80小于90打印: B 如果平均分大于等于70小于80打印: C 如果平均分大于等于60小于70打印: D
* 如果平均分小于60打印: E
*
*
* 5. 编写一个方法,方法名为printSort,
* 方法接收整型数组代表学员的所有考试成绩,没有返回值,要求在方法体中按照有高到低打印成绩,用空格分隔。 例如: 传入参数
* [80,70,60,85,90] 打印结果为: 90 85 80 70 60
*
*
* 6.
* 编写一个方法,方法名为printSubject,方法接收Map参数(key代表学科,value代表分数),没有返回值,按照分数由高到低打印学生成绩
* 。 格式为: Java80 Android70 C60
*
* @param args
*/
public static void main(String[] args) {
}
}
class Stdent88 {
private String name;
private int id;
public Stdent88() {
}
public Stdent88(String name, int id) {
super();
this.name = name;
this.id = id;
}
public float getAverangeScore(int[] arr) {
float sum = 0;
for (int i : arr) {
sum += i;
}
return sum / arr.length;
}
public void printLevel(int x) {
if (x >= 90) {
System.out.println("A");
} else if (x >= 80 && x < 90) {
System.out.println("B");
} else if (x >= 70 && x < 80) {
System.out.println("C");
} else if (x >= 60 && x < 70) {
System.out.println("D");
} else if (x < 60) {
System.out.println("E");
}
}
public void printSort(int[] arr) {
// 类名调用sort方法对数组排序,由于题目要求是从高到低打印,所以反过来遍历打出,
//当然这里也可以用TreeSet集合重写比较器的方法,还有可以使用冒泡排序等方法做
Arrays.sort(arr);
for (int i = arr.length; arr.length > 0; i--) {
System.out.print(arr[i]);
}
}
public void printSubject(Map<String, Integer> map) {
//创建的TreeMap集合,因为比较器是用key键比较的,所以将分数作为键, 姓名作为值
TreeMap<Integer, String> map1 = new TreeMap<>(
new Comparator<Integer>() {
@Override
public int compare(Integer arg0, Integer arg1) {
int num = arg1 - arg0;
return num == 0 ? 1 : num;
}
});
//遍历传入的Map集合,并将其添加进自定义的TreeMap集合
for (Entry<String, Integer> set : map.entrySet()) {
map1.put(set.getValue(), set.getKey());
}
//按照题目要求打印
for (Entry<Integer, String> set1 : map1.entrySet()) {
System.out.print(set1.getValue() + set1.getKey() + " ");
}
}
}
|
|