为了账号安全,请及时绑定邮箱和手机立即绑定

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

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 回答

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

0 回复 有任何疑惑可以回复我~
#1

苏北行 提问者

受教了,谢谢老师,if(num>3)那里是我在试验返回一次成绩的时候改的忘记改回来了,中括号那里我确实是才知道这件事,谢谢
2018-11-18 回复 有任何疑惑可以回复我~
#2

苏北行 提问者

老师你看我改完的 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); } main方法里面的输出还是有错误啊,我想的是能不能在main方法里输出成绩,一个也可以
2018-11-18 回复 有任何疑惑可以回复我~
#3

雀雀you 回复 苏北行 提问者

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

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信