问答详情
源自:7-8 Java 中的方法内部类

感觉我的代码sort这里用的不对,不知道怎么改正,希望有大神来指导指导。***题目要求:应用内部类编程实现:对一个具有10个double类型元素的一维数组找出最大值和最小值。该数组中的10个元素需随机生成,且在程序中输出所有元素值,输出找出的最大值和最小值。***

package Array;

import java.util.*;


//外部类Sort

public class Sort{

//外部类的私有属性num

int num = 10;

//成员内部类

public class Random {

// Random random = new Random();

double[] array = new double[10];

void random1(){

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

array[i] = Math.random();

System.out.println(array[i]);

System.out.println(i + 1);

}

}

}

public void Sort(array){

//double[] array = new double[10];

Arrays.sort(array);

}

//测试成员内部类

public static void main(String[] args){

//创建外部类对象

Sort a = new Sort();

double[] arr = new double[a.num];

//创建内部类对象

Random s = a.new Random();//用外部a创建内部s

s.random1();//调用内部随机方法生成10个元素->数组s

Arrays.sort(s.arr);//排序↑

System.out.println(s[a.num - 1]);//最大

System.out.println(s[0]);//最小

}

}


提问者:qq_紫樱琳_0 2017-09-27 16:03

个回答

  • 社会你雪姐
    2017-09-27 16:32:52

    package com.imooc.second;

    import java.util.Arrays;

    public class Sort {
        public double[] sortNums(){
            double[] nums = new double[10];
            for (int i=0; i<nums.length; i++){
                nums[i] = Math.random();
                System.out.println(nums[i]);
            }
            Arrays.sort(nums);
            return nums;
        }
        
        public static void main(String[] args) {
            Sort sort = new Sort();
            double[] sortedNums = sort.sortNums();
            System.out.println("最大值:"+sortedNums[sortedNums.length-1]+";最小值:"+sortedNums[0]);
        }
    }