Java 使用另一个类中的方法向数组添加数字?
我正在学习java,并试图找出如何将这些方法从第二个类实现到我的主类中。该程序接受用户输入,将数字添加到数组中,然后我需要使用下面预先指定的方法打印以下内容。下面方法中的参数让我感到困惑Java 使用另一个类中的方法向数组添加数字?,java,arrays,class,methods,Java,Arrays,Class,Methods,我正在学习java,并试图找出如何将这些方法从第二个类实现到我的主类中。该程序接受用户输入,将数字添加到数组中,然后我需要使用下面预先指定的方法打印以下内容。下面方法中的参数让我感到困惑 public static double findMin(double[] numbers, int count) //count is the count of numbers stored in the array public static double computePositive
public static double findMin(double[] numbers, int count) //count is the count of numbers stored in the array
public static double computePositiveSum(double[] numbers, int count)
public static int countNegative(double[] numbers, int count)
基本上,我对如何将两个类之间的所有变量和数组链接起来,以便它们能够识别参数并将正确的值返回到输出min、sum和负数感到困惑。我想在main方法中使用数组吗
基本上,我现在所做的修复是在main方法中创建变量,然后通过我创建的链接到第二个类的对象的参数传递main方法中的变量。这看起来可以吗?如果您已经拥有了数组,那么您需要的是调用您的方法并将此值传递给它 假设您拥有以下阵列:
double[] num = {1.2,2.3};
您的count
是num
数组的长度,因此计数为:
int count = num.length;
然后调用您的方法并将参数传递给它,如下所示:
findMin(num , count );
computePositiveSum(num , count );
countNegative(num , count );
注意:对于这样的问题,你们需要阅读《对不起,伙计们》。已经有一段时间了,我只需要再复习一下。我通过在main方法中创建数组和count变量来解决这个问题,然后通过参数传递这些变量,以便第二个类中的方法可以读取它们。感谢您的快速响应和帮助。您不需要计数变量,可以使用
myarray.length
所以你的代码应该是这样的:
public static void main(string [] args)
{
double[] myarray = {5.3, 69.365, 125, 2.36};
double result = MyClass.findMin(myarray);
}
public class MyClass
{
public static double findMin(double[] numbers)
{
// your impl
}
public static double computePositiveSum(double[] numbers)
{
// your impl
}
public static int countNegative(double[] numbers)
{
// your impl
}
}
可以在派生类中创建主类的对象引用。然后使用主类的对象调用这些方法
class Main
{
------
}
class derived
{
Main m = new Main();double[] A=new double[1];
Scanner s = new Scanner(System.in);
int i=0,wc=1;
int arrayGrowth=1;
while(s.hasNext())
{
if (A.length == wc) {
// expand list
A = Arrays.copyOf(A, A.length + arrayGrowth);
wc+=arrayGrowth;
}
A[i]=s.nextDouble();
i++;
}
int len=A.length-1;
m.findMin(A,len);
m.computePositiveSum(A,len);
m.countNegative(A,len);
}
出于好奇,是否有任何理由需要将
count
作为参数传递,而不是在这些函数中使用numbers.length
?在调用类中是否有适当的变量?只需将这些作为参数传递给方法…数组的大小在Java中是不可变的,所有方法调用都是按引用的值传递的,因此您不能在方法中实例化新数组,将其分配给参数,并期望调用方看到新实例。