嘿伙计们,我在弄清楚如何为我的Array类编写驱动程序类时遇到了问题。
我的问题
1.如何让我的Array类中的数组引用Driver类中的数组?
2.如何将我的类方法从我的Array类传递给我的Driver类,以便打印出来?
这是我的两位代码
主要课程:
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);
}
}
答案 0 :(得分:0)
看起来很像家庭作业......
在Array
类中,您可以保留对数组的引用,然后使用一个名为setArray()
的方法,您可以使用该方法将数组从主类传递给Array类。
int[] numbers;
public void setArray(int[] nums) {
numbers = nums;
}
然后从您的主课程中,您可以致电
Array.setArray(myIntArray);
int max = Array.max();
在现实生活中(编程练习除外),你永远不会想要这样做。