请问我这个是哪里错了?应该怎么弄成有返回值的?

来源:7-1 编程练习

苏北行

2018-11-17 22:34

import java.util.Arrays;

public class HelloWorld {

    

    //完成 main 方法

    public static void main(String[] args) {

    int[] scores ={89,-23,64,91,119,52,73};

    System.out.println("考试成绩的前三名为:");

    HelloWorld hello = new HelloWorld();

    int[] a=hello.cj[](scores);

    System.out.println(a);

    }

    

    //定义方法完成成绩排序并输出前三名的功能

    public int[] cj(int[] scores){

        Arrays.sort(scores);

        int num=0;

        for(int i=scores.length-1;i>=0;i--){

            if(scores[i]<0||scores[i]>100){

                continue;

            }

            num++;

            if(num>1){

                break;

            }

            

        }return scores;

    }

    


写回答 关注

1回答

  • 雀雀you
    2018-11-18 08:38:21
    已采纳

    实现这个功能不需要使用到返回值,因为你要输出三个成绩,而一次只能返回一个值。你可以在if语句块的下面加一句:System.out.println(scores[i]);意思是打印当前元素。并且你的if语句的条件也写错了,应写成:if(num>3)代表当查询出第三个成绩后跳出循环。在调用方法处,因为不需要使用返回值,所以也不用接收,可直接写成:hello.cj(scores);不能写中括号。同学你可以将数组的操作,方法的操作,这两章多加以练习,熟练掌握它们的语法,这样的小错误就不会犯了。

    雀雀you 回复苏北行

    老师不敢当,我现在也还在学习java。 数组是一组元素的集合,直接使用数组名输出并不能查看数组中的元素,查看的是数组在内存中的地址。想要查看数组中的某个元素必须结合下标。比如你想查看数组中的第一个元素:System.out.println(a[0]); 想要查看数组中的所有元素,则需要使用到循环语句。

    2018-11-19 09:56:01

    共 3 条回复 >

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165172 学习 · 17581 问题

查看课程

相似问题