可以发一下答案嘛 真的做不出来 想学一下
来源:3-4 项目作业
hardworkerhu
2020-02-23 21:38:41
啊啊啊啊啊
1回答
小张一号
2020-02-24
package com.imooc.datamanage;
import java.util.Scanner;
/**
* 从键盘接受整型数据存放到数组中,并对数组中的数据进行管理
* @author zhangyutong
*
*/
public class DataManage {
public static float[] stuScore = null;
public static String[] menu = {
"***********************",
"**欢迎使用学生成绩管理系统**",
"**1--初始化数学成绩 **",
"**2--求成绩的平局之 **",
"**3--统计85分以上同学数量**",
"**4--修改指定位置的成绩 **",
"**5--打印输出所有成绩 **",
"**0--退出 **",
"************************"
};
/**
* 显示菜单
*/
public void displayMenu() {
for(String i:DataManage.menu) {
System.out.println(i);
}
}
/**
* 输入处理
* @param message 提示消息
* @return
*/
public static int handleInput(String message) {
Scanner s = new Scanner(System.in);
while(true) {
try {
System.out.println(message);
return s.nextInt();
} catch(java.util.InputMismatchException e) {
s.next();
System.out.print("请您输入整数!整数!知道什么是整数吗?就是1,2,3,4...这些,");
}
}
}
/**
* 输入处理
* @param message 提示消息
* @return
*/
public static float handleInputFloat(String message) {
Scanner s = new Scanner(System.in);
while(true) {
try {
System.out.println(message);
return s.nextFloat();
} catch(java.util.InputMismatchException e) {
s.next();
System.out.print("您输入的信息错误,");
}
}
}
/**
* 初始化成绩
* @param arrLength
* @return
*/
public float[] initScore() {
int arrLength = DataManage.handleInput("请输入需要存储数学成绩的数量:");
float tempArr[] = new float[arrLength];
for(int i = 0; i < arrLength; i++) {
tempArr[i] = DataManage.handleInputFloat("请输入第"+(i + 1)+"个小孩?的成绩");
}
return tempArr;
}
/**
* 计算平均成绩
* @param f
* @return
*/
public float average(float[] f) {
float sum = 0;
for(float i:f) {
sum += i;
}
return sum/f.length;
}
/**
* 查找大于85分的人
* @param f
* @return
*/
public int count(float[] f) {
int count = 0;
for(float i:f) {
if(i > 85f) count++ ;
}
return count;
}
/**
* 修改指定位置处成绩
* @param f
* @param index
* @param newScore
*/
public void update(float[] f, int index, float newScore) {
if (index > f.length || index <= 0) {
System.out.println("i'm sorry!一共" + f.length + "个学生,您居然要修改第"+index +"个学生的成绩! 臣妾做不到啊!!!");
return;
}
f[index-1] = newScore;
}
/**
* 打印所有成绩的方法哦
* @param f
*/
public void displayAllScore(float[] f) {
if (f.length <= 0) {
System.out.println("电脑坏了,请扔掉这台电脑,重买一台");
return;
}
int index = 0;
for (float i:f) {
System.out.println("第"+(++index) + "个学生成绩是" + i);
}
}
/**
* 入口函数
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
DataManage d = new DataManage();
int handleType;
while(true) {
d.displayMenu();
switch(DataManage.handleInput("请输入对应的数字进行操作:")) {
case 1:
DataManage.stuScore = d.initScore();
break;
case 2:
if (DataManage.stuScore == null) {
System.out.println("对不起,您还没有录入成绩");
break;
}
System.out.println("成绩的平均值是:" + d.average(DataManage.stuScore));
break;
case 3:
if (DataManage.stuScore == null) {
System.out.println("对不起,您还没有录入成绩");
break;
}
System.out.println("成绩大于85分的同学一共有" + d.count(DataManage.stuScore) + "人");
break;
case 4:
if (DataManage.stuScore == null) {
System.out.println("对不起,您还没有录入成绩");
break;
}
d.update(DataManage.stuScore, DataManage.handleInput("请输入要修改数据的位置(从1开始):"), DataManage.handleInputFloat("请输入新成绩"));
System.out.println("修改后的成绩为:");
case 5:
if (DataManage.stuScore == null) {
System.out.println("对不起,您还没有录入成绩");
break;
}
d.displayAllScore(DataManage.stuScore);
case 0:
return;
default:
System.out.println("对不起您输入的内容有误请重新输入ba!");
}
}
}
}相似问题