package ZiJiLianxi; import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class NewTest { /*1.输入一个班级的 N 个学生的成绩(0-100),输出最高分、最低分以及班级平均分。*/ public static void main(String[] args) { Scanner scan=new Scanner(System.in); System.out.println("输入学生数量:"); int n= scan.nextInt(); int[] score=new int[n]; int sum=0; for (int i = 0; i < n; i++) { System.out.println("请输入第"+(i+1)+"位学生的成绩(0~100):"); int input=scan.nextInt(); if (input<0||input>100){ System.out.println("重新输入:"); i--; }else { score[i]=input; sum+=score[i]; } } int max=score[0]; int min=score[0]; for (int i = 0; i < n; i++) { if (score[i]>max){ max=score[i]; } if (score[i]<min){ min=score[i]; } } System.out.println("最高分:"+max); System.out.println("最低分:"+min); int avg=(sum-max-min)/(n-2); System.out.println("平均分="+avg); } }
package ZiJiLianxi; import java.util.Scanner; public class NewTest2 { /*2.输入 N 个学生的成绩,统计各等级人数: A(90-100)、B(80-89)、C(70-79)、D(60-69)、E(0-59) 要求: main 方法调用输入和统计方法 countGrades 方法返回各等级人数的数组 输出格式:A:3人 B:5人 ...*/ public static void main(String[] args) { double[] score=input(); int[] grade=countGrades(score); gradecount(grade); } public static double[] input(){ Scanner scan=new Scanner(System.in); System.out.println("输入学生的个数:"); int ren=scan.nextInt(); double[] score=new double[ren]; for (int i = 0; i < ren; i++) { System.out.println("输入第"+(i+1)+"个学生的成绩(范围0~100):"); double input=scan.nextDouble(); if (input>=0&&input<=100){ score[i]=input; }else { System.out.println("请重新输入:"); i--; } } return score; } public static int[] countGrades(double[] score){ int[] count=new int[5]; for (double grade:score){ if (grade>=90){ count[0]++; } else if (grade>=80) { count[1]++; } else if (grade>=70) { count[2]++; }else if (grade>=60){ count[3]++; }else { count[4]++; } } return count; } public static void gradecount(int[] count){ String[] grades={"A","B","C","D","E"}; for (int i = 0; i < grades.length; i++) { System.out.println("成绩为"+grades[i]+"档有"+count[i]+"人"); } } }
package ZiJiLianxi; import java.util.*; public class NewTest3 { public static void main(String[] args) { /*3.编写方法去掉整型数组中的重复元素,返回新数组。 例如输入 [2,5,2,8,5],返回 [2,5,8]。*/ Scanner scan=new Scanner(System.in); System.out.println("输入数组一共有几个元素:"); int n=scan.nextInt(); int[] arr=new int[n]; System.out.println("依次输入"+n+"个整数:"); for (int i = 0; i <n; i++) { int input= scan.nextInt(); arr[i]=input; } int[] newarr=chongfu(arr); System.out.println("原数组:"+Arrays.toString(arr)); System.out.println("去重后数组:"+Arrays.toString(newarr)); } public static int[] chongfu(int[] arr){ Set<Integer> set=new LinkedHashSet<>();//LinkedHashSet保持元素的初始顺序 for (int num:arr){ set.add(num); } int[] result=new int[set.size()]; int index=0; for (int num:set){ result[index++]=num; } return result; } }