学生成绩管理系统
eclipse
原码:
package com.imooc;
import java.util.Scanner;
/**
- 学生成绩管理:
- 【1】初始化数学成绩
- 【2】求成绩的平均值
- 【3】统计成绩大于85分的人数
- 【4】修改指定位置处的成绩
- 【5】打印输出所有成绩
- 【0】退出程序
- @author 86198
/
public class Achievement {
/*
* 从键盘接收数据
* 【1】初始化数学成绩
* @param args
/
public float[] intScore() {//定义一个初始化的方法,数组的长度和元素由键盘输入。
float[] a=new float[5];//创建一个长度为5的数组
Scanner sc=new Scanner(System.in);
for(int i=0;i<a.length-1;i++) {//少接收一个数据。为在指定位置插入数据做准备
System.out.println(“请输入第”+(i+1)+“个数据:”);
try {
a[i]=sc.nextInt();
}catch(java.util.InputMismatchException e) {
System.out.println(“你输入的数据格式有误,不能有非数字,请重新输入!”);
sc.next();
i–;//重新显示第一个数据
}
}
return a;
}
/*
-
【2】求成绩的平均值
-
@param
*/
public void average(float[] f) {
float sum=0;
float ave;
for(float i:f) {
sum=sum+i;
}
ave=sum/f.length;
System.out.println(“平均成绩为:”+ave);
}/**
- 【3】统计成绩大于85分的人数
- @param args
*/
public void count(float[] f) {
String str="";
int count=0;
for(float n:f) {
if(n>85) {
str=str+n+" ";
count++;
}
}
if(count==0) {
System.out.println(“没有成绩大于85分的人!”);
}else {
System.out.println(“成绩大于85分的共有”+count+“人”);
System.out.println(“大于85分的成绩为:”+str);
}
}
/**
-
【4】修改指定位置处的成绩
-
参数index为位置,从0开始,与数组下标含义相同
-
newScore是要更改的新成绩
*/public void updata(float[] f,int index,float newScore) {//index表示要插入的位置,newScore表示要插入的新成绩
for(int i=f.length-1;i>index;i–) {
f[i]=f[i-1];
}
f[index-1]=newScore;
}/**
- 【5】打印输出所有成绩
- f:数组
- length:要显示的数组元素个数
- @param args
*/
public void displayAllScore(float[] f,int length) {
for(int i=0;i<length;i++) {
System.out.print(f[i]+" ");
}
System.out.println();
}
/**
-
【6】提示信息
-
@param args
/
public void notice() {
System.out.println("*****************************************");
System.out.println(" 【1】初始化数学成绩");
System.out.println(" 【2】求成绩的平均值 “);
System.out.println(” 【3】统计成绩大于85分的人数 “);
System.out.println(” 【4】修改指定位置处的成绩 “);
System.out.println(” 【5】打印输出所有成绩 “);
System.out.println(” 【0】退出程序 “);
System.out.println(”******************************************");
}
public static void main(String[] args) {
//
Achievement dm=new Achievement();
Scanner sc=new Scanner(System.in);
float[] a=null;//假设数组a等于空值
int input=0;
int index=0,newScore=0;//index表示要插入的位置,newScore表示要插入的新成绩
while(true) {//永远循环方法中的内容,退出条件是输入0
dm.notice();
System.out.println(“请输入对应的数字进行操作”+"(温馨提示:请先进行第一步操作,输入数学成绩,才能进行其余操作!):");
try {
input=sc.nextInt();
}catch(java.util.InputMismatchException e){
System.out.println(“您输入的数据格式有误,不能有非数字,请重新输入!”);
sc.next();//调用next接收您输错的那个字符
continue;//退出当前循环,但进行下一次循环
}
if(input==0) {
System.out.println(“退出程序!”);
break;
}
switch(input) {
case 1:
//插入数据
a=dm.intScore();
//显示数据
System.out.println(“数组元素为:”);
dm.displayAllScore(a,a.length-1);
break;case 2: //求成绩的平均值 if(a!=null) { dm.average(a); }else { System.out.println("还未输入数学成绩,请重新选择操作!"); } break; case 3: //统计成绩大于85分的人数 if(a!=null) { dm.count(a); }else { System.out.println("还未输入数学成绩,请重新选择操作!"); } break; case 4: //修改指定位置处的成绩 //index表示要插入的位置,newScore表示要插入的新成绩 if(a!=null) { System.out.println("请输入要插入的位置:"); try { index=sc.nextInt(); System.out.println("请输入要插入的新成绩:"); newScore=sc.nextInt(); }catch(java.util.InputMismatchException e) { System.out.println("输入的数据格式有误,不能有非数字,请重新输入选择操作!"); } dm.updata(a,index,newScore);//修改指定位置处的成绩 dm.displayAllScore(a, a.length);//显示重新插入后的成绩 }else { System.out.println("还未输入数学成绩,请重新选择操作!"); } break; case 5: //打印输出所有成绩 if(a!=null) { System.out.println("数组元素为:"); dm.displayAllScore(a,a.length); }else { System.out.println("您还未输入成绩,请重新选择操作!"); } break; }
}
}
}
运行结果:
【1】初始化数学成绩 【2】求成绩的平均值 【3】统计成绩大于85分的人数 【4】修改指定位置处的成绩 【5】打印输出所有成绩 【0】退出程序 ******************************************请输入对应的数字进行操作(温馨提示:请先进行第一步操作,输入数学成绩,才能进行其余操作!):1请输入第1个数据:98请输入第2个数据:78请输入第3个数据:79请输入第4个数据:85数组元素为:98.0 78.0 79.0 85.0 ****************************************** 【1】初始化数学成绩 【2】求成绩的平均值 【3】统计成绩大于85分的人数 【4】修改指定位置处的成绩 【5】打印输出所有成绩 【0】退出程序 ******************************************请输入对应的数字进行操作(温馨提示:请先进行第一步操作,输入数学成绩,才能进行其余操作!):2平均成绩为:68.0****************************************** 【1】初始化数学成绩 【2】求成绩的平均值 【3】统计成绩大于85分的人数 【4】修改指定位置处的成绩 【5】打印输出所有成绩 【0】退出程序 ******************************************请输入对应的数字进行操作(温馨提示:请先进行第一步操作,输入数学成绩,才能进行其余操作!):3成绩大于85分的共有1人大于85分的成绩为:98.0 ****************************************** 【1】初始化数学成绩 【2】求成绩的平均值 【3】统计成绩大于85分的人数 【4】修改指定位置处的成绩 【5】打印输出所有成绩 【0】退出程序 ******************************************请输入对应的数字进行操作(温馨提示:请先进行第一步操作,输入数学成绩,才能进行其余操作!):4请输入要插入的位置:1请输入要插入的新成绩:100100.0 78.0 78.0 79.0 85.0 ****************************************** 【1】初始化数学成绩 【2】求成绩的平均值 【3】统计成绩大于85分的人数 【4】修改指定位置处的成绩 【5】打印输出所有成绩 【0】退出程序 ******************************************请输入对应的数字进行操作(温馨提示:请先进行第一步操作,输入数学成绩,才能进行其余操作!):5数组元素为:100.0 78.0 78.0 79.0 85.0 ****************************************** 【1】初始化数学成绩 【2】求成绩的平均值 【3】统计成绩大于85分的人数 【4】修改指定位置处的成绩 【5】打印输出所有成绩 【0】退出程序 ******************************************请输入对应的数字进行操作(温馨提示:请先进行第一步操作,输入数学成绩,才能进行其余操作!):0退出程序!