-1

配列クラスのドライバークラスを作成する方法を理解するのに問題があります。

私の質問

1.Arrayクラスの配列がDriverクラスの配列を参照するようにするにはどうすればよいですか?

2.クラスメソッドをArrayクラスからDriverクラスに渡して、印刷できるようにするにはどうすればよいですか?

これが私の2ビットのコードです

メインクラス:

import javax.swing.*;
import java.util.*;
public class Array
{

    double sum = 0;
    int max = 0;
    int min = numbers[0];
    double sd = 0;
    int mode = 0;
    int modeCount = 0;
    public double average()
    {
        for(int i=0; i<numbers.length; i++)
        {
            sum = sum + numbers[i];
        }

        double average = sum / numbers.length;
        return average;
    }

    public int max()
    {
        for(int i=0; i<numbers.length; i++)
        {
            if(numbers[i] > max)
            {
                max = numbers[i];
            }
        }
        return max;
    }

    public int min()
    {
        for(int i=0; i<numbers.length; i++)
        {
            if(numbers[i] < min)
            {
                min = numbers[i];
            }
        }
        return min;
    }

    public double standardDeviation()
    {
        for (int i=0; i<numbers.length;i++)
        {
            sum = sum + numbers[i];
            double average = sum / numbers.length;
            {
                sd += ((numbers[i] - average)*(numbers[i] - average)) / (numbers.length - 1);
            }
        }
        double standardDeviation = Math.sqrt(sd);
        return standardDeviation;
    }

    public int mode()
    {
        for (int i = 0; i < numbers.length; ++i) 
        {
            int count = 0;
            for (int j = 0; j < numbers.length; ++j) 
            {
                if (numbers[j] == numbers[i]) ++count;
            }
            if (count > modeCount) {
                modeCount = count;
                mode = numbers[i];
            }
        }
        return mode;
    }
}

ドライバークラス:

import javax.swing.*;
import java.util.*;

public class ArrayTest
{
    public static void main(String [] args)
    {
        int[] numbers;
        numbers = new int [20];
        Random rand = new Random(2621); 
        int maxRange = 65;
        int minRange = 20;

        for(int i=0; i<20; i++)
        {
            numbers[i] = rand.nextInt(maxRange - minRange + 1) + minRange;       
        }

        Arrays.sort(numbers);
    }
}
4

1 に答える 1

0

宿題のように見えます...

クラスでは、配列への参照を保持し、メイン クラスから Array クラスに配列を渡すために使用できるArrayメソッドを呼び出すことができます。setArray()

int[] numbers;

public void setArray(int[] nums) {
    numbers = nums;
}

次に、メインクラスから呼び出すことができます

Array.setArray(myIntArray);
int max = Array.max();

ただし、実際の生活では (プログラミングの練習以外では)、これを行うことは決してありません。

于 2013-02-13T06:45:54.760 に答える