老师,请问为什么报错?

老师,请问为什么报错?

package com.ceshi.student;


import java.util.Scanner;


public class ScoreManagement {

int n=0;

//显示菜单

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(int length) { 

float[] f=new float[length];

Scanner sc=new Scanner(System.in);

for(int i=0;i<length;i++) {

System.out.println("请输入第"+(i+1)+"个成绩数据:");

try{

f[i]=sc.nextFloat();

}catch(java.util.InputMismatchException e){

System.out.println("输入的数据格式有误,不能有非数字");

sc.next();

i--;

n++;

}

}

return f;

}

//显示数据

public void showDate(float[] f) {

for(int i=0;i<f.length;i++) {

System.out.print(f[i]+" ");

}

}

//求平均数

public float average(float[] f) {

float ave=0;

float a=0;

for(int i=0;i<f.length;i++)

{

a=a+f[i];

}

ave=a/n;

System.out.println("数学平均成绩为:"+ave);

return ave;

}

//主数据

public static void main(String[] args) {

ScoreManagement sco=new ScoreManagement();

Scanner sc=new Scanner(System.in);

int input;

int length;

float[] f=null;

while(true) {

sco.displayMenu();

System.out.println("请输入对应的数字进行操作:");

    input=sc.nextInt();

if(input==0) {

System.out.println("退出程序!");

break;

}

switch (input) {

case 1:

System.out.println("请输入要存入数学成绩的数量:");

length=sc.nextInt();

f=sco.initScore(length);

System.out.print("初始化数学成绩:"+sco.showDate(f));

System.out.println();

break;

case 2:

System.out.println("求成绩平均值:");

break;

}

}

for(float n:f)

System.out.print(n+"  ");

System.out.print('\n');

System.out.print("数学平均成绩为:"+sco.average(f));

}

}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕阿满 2019-07-03 09:45:12

同学你好,showData()方法没有返回值,不能通过System.out.println()方式调用方法显示,直接调用方法即可,如:

http://img1.sycdn.imooc.com//climg/5d1c08a5000179fe06950086.jpg

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 无限精彩 #1
    showData()方法没有返回值,所以就不能通过System.out.println()方式调用方法显示?
    2019-07-03 16:14:00
  • 好帮手慕阿满 回复 提问者 无限精彩 #2
    是的,可以这么理解。祝:学习愉快~
    2019-07-03 16:43:42
提问者 无限精彩 2019-07-02 22:08:18

System.out.print("初始化数学成绩:"+sco.showDate(f));,就这行代码报错,为什么不可以这么写?

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师