编程练习(二十三)

要求:

1)要求通过定义带参带返回值的方法来实现。

2)通过参数传入数组的长度(例如长度为8),方法执行后返回赋值后的数组。

3)通过(int)(Math.random() * 100) 生成100以内的随机数。

注:Math类是用于进行算术操作的类,Math.random()生成0-1的浮点数。

任务:

1)定义一个带参带返回值的方法,实现输出随机数数组。

  提示:

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

  2.创建指定长度的整型数组

  3.使用for循环遍历数组,通过Math.random()生成随机数并为数组成员赋值

  4.使用return返回赋值后的数组

2)完成 main 方法

  提示:

  1.调用自定义方法,保存方法执行后返回的数组

  2.使用Arrays.toString()将数组转换为字符串并输出,注意导入java.util.Arrays;

import java.util.Arrays;
public class HelloJava {
    public static void main(String[] args) {
        HelloJava hello=new HelloJava();
        // 调用方法并将返回值保存在变量中
        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<length;i++) {
 
            // 产生一个100以内的随机数,并赋值给数组的每个成员
            nums[i]=(int)(Math.random()*100);
        }
        return nums; // 返回赋值后的数组
    }
}

运行结果:(数组元素为随机数)

[26, 36, 96, 55, 88, 96, 10, 26]

 

要求:

1)考试成绩已保存在数组scores中,数组元素依次为89,-23,64,91,119,52,73。

2)要求通过自定义方法来实现成绩排名并输出操作,将成绩数组作为参数传入。

3)要求判断成绩的有效性( 0-100 ),如果成绩无效,则忽略此成绩。

运行结果:

考试成绩的前三名为:
91
89
73

任务:

1)定义一个包含整型数组参数的方法,用来接收成绩数组,进行成绩排序并输出前三名

  提示:

  1.在方法中使用Arrays类的sort()方法对数组进行排序,默认按升序排列,注意Arrays类的使用需要导入java.util.Arrays

  2.由于只需要输出考试成绩的前三名,所以定义一个变量,统计有效成绩的前三名的数量

  3.使用for循环遍历数组中的元素,由于要输出的是前三名成绩,所以从后往前遍历,即倒序遍历。如:for ( int i = scores.length - 1; i >= 0; i-- ) { }

  4.判断成绩的有效性,如果成绩小于0或大于100,则使用continue忽略此成绩

  5.如果成绩有效,则有效成绩数加1。判断有效成绩的个数,如果有效成绩数大于3,则结束循环,只输出成绩的前三名

2)完成 main 方法

  提示:

  1)定义一个成绩数组scores,保存预定的考试成绩89,-23,64,91,119,52,73

  2)调用自定义方法,传入成绩数组,完成功能

import java.util.Arrays;
public class HelloJava {
    public static void main(String[] args) { //完成 main 方法
        int[] scores={89,-23,64,91,119,52,73};
        System.out.println("考试成绩的前三名为:");   
        HelloJava hello = new HelloJava();
        hello.getArrays(scores);
    }   
    //定义方法完成成绩排序并输出前三名的功能
    public void getArrays(int[] scores) {
        Arrays.sort(scores);//Arrays.sort(数组名) 将数组按升序排序
        int scoreNum=0;//定义有效成绩个数
        for (int i=scores.length-1;i>=0&&scoreNum<3;i--) { //由于要输出前三名的成绩,所以需要从后往前遍历,即倒序遍历
            if (scores[i]<0||scores[i]>100) {//判断成绩是否有效,如果无效,则使用continue忽略此成绩
                continue;
            } else {
            scoreNum++;//有效成绩个数+1
            }
            System.out.println(scores[i]); 
        }
    }
}

 

posted @ 2020-03-17 17:42  梦清欢  阅读(200)  评论(0编辑  收藏  举报