public float[] initScore() {}方法中的异常怎么写
package com.Imooc.scoremanage;
import java.util.InputMismatchException;
import java.util.Scanner;
/**
*
* 在主方法中定义菜单,并定义方法完成对学生成绩的管理,学生成绩存放在数组中。
* @author 颜灏澜
*
*/
public class ScoreManage {
//显示菜单的方法
public void displayMenu() {
System.out.println("***********************");
System.out.println("1-初始化数学成绩");
System.out.println("2-求成绩的平均值");
System.out.println("3-统计成绩大于85的人数");
System.out.println("4-打印输出所有成绩");
System.out.println("0-退出");
System.out.println("***********************");
}
/**
* 定义一个初始化数学成绩的方法,数组的长度和元素均由键盘输入
* @return 接收成绩的数组
*/
public float[] initScore() {
int l=0;
float[] s = null;
Scanner sc=new Scanner(System.in);
System.out.println("请输入要存储的数学成绩的数量");
l=sc.nextInt();
for(int i=0;i<l;i++) {
System.out.println("请输入第" + (i + 1) + "个成绩");
s[i]=sc.nextFloat();
}
return s;
}
/**
* 定义一个求平均成绩的方法
*/
public float average(float[] f) {
float sum=0;
for(int i=0;i<f.length;i++)
sum+=f[i];
return sum/(f.length);
}
/**
* 定义一个统计成绩大于85分的人数的方法
*/
public int count(float[] f) {
int count=0;
for(float n:f) {
if(n>85)
count++;
}
return count;
}
/**
* 修改指定位置处成绩的方法
*/
public void update(float[] f, int index, float newScore) {
f[index]=newScore;
}
/**
* 打印输出所有成绩的方法
*/
public void displayAllScore(float[] f) {
for(float n:f)
System.out.print(n+" ");
}
public static void main(String[] args) {
ScoreManage sm=new ScoreManage();
int input;
int index;
float newScore;
float[] f=null;
Scanner sc=new Scanner(System.in);
while(true) {
sm.displayMenu();
System.out.println("请输入对应的数字进行操作:");
try {
input = sc.nextInt();
}catch(InputMismatchException e) {
System.out.println("输入的数据格式有误,不能有非数字");
sc.next();
continue;
}
if (input == 0) {
System.out.println("退出程序!");
break;
}
switch (input) {
case 1:
f=sm.initScore();
break;
case 2:
if(f!=null) {
System.out.println("平均分为"+sm.average(f));
}else {
System.out.println("还未插入成绩,请重新选择操作");
}
break;
case 3:
if(f!=null) {
sm.count(f);
}else {
System.out.println("还未插入成绩,请重新选择操作");
}
break;
case 4:
if(f!=null) {
System.out.println("请输入要修改数据的位置(从0开始)");
try {
index=sc.nextInt();
System.out.println("请输入新数据");
newScore=sc.nextFloat();
}catch(InputMismatchException e){
System.out.println("输入数据格式有误,不能有非数据");
sc.next();
break;
}
sm.update(f, index, newScore);
}else {
System.out.println("还未插入成绩,请重新选择操作");
}
break;
case 5:
if(f!=null) {
sm.displayAllScore(f);
}else {
System.out.println("还未插入成绩,请重新选择操作");
}
break;
}
}
}
}
正在回答 回答被采纳积分+1
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星