正在回答
同学你好
可以参考以下思路:
1、定义一个float类型的数组f,初始值为null。
2、调用初始化数组的方法时,返回值赋值给f。
3、调用其他方法时,将f当做方法参数传进方法,进行操作。
代码如下图所示:
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
public class dadazuoye {
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(" 5--打印输出所有成绩");
System.out.println(" 0--退出");
System.out.println("*****************************");
}
public float[] initScore() {
Scanner sc=new Scanner(System.in);
System.out.println("请输入要储存的数学成绩的数量:");
int k=0;
k = sc.nextInt();
float[] f=new float[k];
for(int i=0;i<k;i++) {
System.out.println("请输入第"+(i+1)+"个数据");
f[i]=sc.nextFloat();
}
return f;
}
public float average(float[] f) {
float f1=0;
for(float n:f) {
f1=f1+n;
}
float f2=f1/f.length;
System.out.println("平均数为:"+f2);
return f2;
}
public int count(float[] f) {
int r=0;
for(int i=0;i<f.length;i++) {
float max=f[i];
if(max>85) {
r=r+1;
}
}
System.out.println("数学成绩大于85的人数有"+r+"个");
return r;
}
public void update(float[] f, int index, float newScore) {
System.out.println("修改前:");
System.out.println("成绩为:");
for(int i=0;i<f.length;i++) {
System.out.print(f[i]+" ");
}
Scanner sc=new Scanner(System.in);
System.out.println("请输入要修改数据的位置(从0开始):");
index=sc.nextInt();
System.out.println("请输入新数据:");
newScore=sc.nextFloat();
for(int i=0;i<f.length;i++) {
if(i==index) {
f[i]=newScore;
}
}
System.out.println("修改后:");
System.out.println("成绩为:");
for(int i=0;i<f.length;i++) {
System.out.print(f[i]+" ");
}
}
public void displayAllScore(float[] f) {
System.out.println("成绩为:");
for(int i=0;i<f.length;i++) {
System.out.print(f[i]+" ");
}
}
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星