问答详情
源自:7-1 编程练习

8-1最后一个编程

以下是自己的思路编的,哪位大神看下哪里有错,编完后只显示运行成功,没有出现结果。


import java.util.Arrays;

public class HelloWorld {

    

    //完成 main 方法

    public static void main(String[] args) {

        

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

       HelloWorld hello=new HelloWorld(); 

       hello.Top(scores); 

    }

    

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

    public void Top(int[] scores){

        Arrays.sort(scores);

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

            int j=0;

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

                 j=j+1;

            if(j>3){

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

              for(int k=scores.length;k>scores.length-4;k--){

                   System.out.println(scores[k]);

               }

            }

           } 

            

        }

        

    }


提问者:妮妮a 2018-09-02 00:07

个回答

  • jieyin
    2018-09-04 15:26:25

    你把j=0一直放在for循环里面了,导致不会执行if(j>3)之后的命令,所以没有结果。而且后面的程序也有问题

  • qq_BoomShaKaB_0
    2018-09-02 18:10:53

    我试了一遍 ,可以运行

  • qq_BoomShaKaB_0
    2018-09-02 18:10:20

    package com.imooc;

    import java.util.Arrays;

    public class aaa {

    //导入java.util.Arrays;

       public static void main(String[] args) {        

            // 创建对象,对象名为hello

       aaa hello = new aaa();        

           // 调用方法并将返回值保存在变量中

    int[] nums = hello.getArray(8);        

           // 将数组转换为字符串并输出

    System.out.println(Arrays.toString(nums)); 

    }

    /*

    * 功能:创建指定长度的int型数组,并生成100以内随机数为数组中的每个元素赋值

    * 定义一个带参带返回值的方法,通过参数传入数组的长度,返回赋值后的数组

    */

    public int[] getArray(int length) {

           // 定义指定长度的整型数组

    int[] nums = new int[length];        

           // 循环遍历数组赋值

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

    // 产生一个100以内的随机数,并赋值给数组的每个成员

       nums[i]=(int)(Math.random()*100);        

    }

    return nums; // 返回赋值后的数组

    }

    }






  • bug_hunter
    2018-09-02 10:15:33

    System.out.println(Arrays.toString(nums));   这一行这么输出和题目要求不符。

    该用一个for循环输出一个数后换行输出下一个数,应该就可以过了。