Java 在数组上的另一个类中调用getAverage方法
我有一个类,它有一些方法,ArrayMin,ArrayMax,ArrayAvg,还有一个构造函数,它生成一个由10个值组成的数组,其中的数字在0-100之间 我并不坚持使用上述三种方法。如何调用这些方法并获得平均值、最小值和最大值?我想我可以在我的MAIN中创建Array a1=new array10之后执行a1.arraymax,但运气不好 导入java.util.Random; 公共类数组{ 公共整数大小,平均值; 公共int阵列化{ 返回大小; } 公共阵列最小a[]{ int min=a[0];Java 在数组上的另一个类中调用getAverage方法,java,arrays,class,methods,Java,Arrays,Class,Methods,我有一个类,它有一些方法,ArrayMin,ArrayMax,ArrayAvg,还有一个构造函数,它生成一个由10个值组成的数组,其中的数字在0-100之间 我并不坚持使用上述三种方法。如何调用这些方法并获得平均值、最小值和最大值?我想我可以在我的MAIN中创建Array a1=new array10之后执行a1.arraymax,但运气不好 导入java.util.Random; 公共类数组{ 公共整数大小,平均值; 公共int阵列化{ 返回大小; } 公共阵列最小a[]{ int min=a
对于int i=0;i您缺少OOP的许多基本原则,但为了具体解决您的问题,您在构造函数中创建的int数组与方法中使用的数组不同 要解决此问题,在Array类中,需要一个实例变量来保存此数组: 私人机构【】a 现在有了这个变量,在构造函数中,而不是 int[]a= 你就是这样 a=
将实例变量设置为包含10个随机数的变量。现在,您可以删除每个方法中的参数,以使事情顺利进行。您缺少OOP的许多基本原则,但为了具体解决您的问题,您在构造函数中创建的int数组与方法中使用的数组不同 要解决此问题,在Array类中,需要一个实例变量来保存此数组: 私人机构【】a 现在有了这个变量,在构造函数中,而不是 int[]a= 你就是这样 a=
将实例变量设置为包含10个随机数的变量。现在,您可以删除每个方法中的参数,以使事情顺利进行。我将重构一点:
class Array {
public static int arrayMin(int a[]) {
int min = a[0];
for (int i = 0; i < a.length; i++) {
if (a[i] < min) {
min = a[i];
}
}
return min;
}
public static int arrayMax(int a[]) {
int max = a[0];
for (int i = 0; i < a.length; i++) {
if (a[i] > max) {
max = a[i];
}
}
return max;
}
public static int arrayAvg(int a[]) {
int sum = 0;
for (int i = 0; i < a.length; i++) {
sum += a[i];
}
return sum / a.length;
}
}
我会重构一点:
class Array {
public static int arrayMin(int a[]) {
int min = a[0];
for (int i = 0; i < a.length; i++) {
if (a[i] < min) {
min = a[i];
}
}
return min;
}
public static int arrayMax(int a[]) {
int max = a[0];
for (int i = 0; i < a.length; i++) {
if (a[i] > max) {
max = a[i];
}
}
return max;
}
public static int arrayAvg(int a[]) {
int sum = 0;
for (int i = 0; i < a.length; i++) {
sum += a[i];
}
return sum / a.length;
}
}
同时共享main:请正确地命名方法camel case notation这样读起来要困难得多:同样共享main:请正确地命名方法camel case notation这样读起来要困难得多:
Array: [96, 56, 21, 59, 85, 31, 84, 83, 23, 80]
Max: 96
Min: 21
Avg: 61