Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在main方法中调用(另一个类的)静态方法_Java - Fatal编程技术网

Java 在main方法中调用(另一个类的)静态方法

Java 在main方法中调用(另一个类的)静态方法,java,Java,我有一个程序,在对2个数组(数组a的显示元素不在数组b中)执行某些操作后,我必须返回一个数组 这是密码 class Main { static int[] result(int a[], int b[]) { int count, x, m = 0; int d[] = new int[100]; for (int i = 0; i < a.length; i++) { count = 0;

我有一个程序,在对2个数组(数组a的显示元素不在数组b中)执行某些操作后,我必须返回一个数组

这是密码

class Main {
    static int[] result(int a[], int b[]) {
        int count, x, m = 0;
        int d[] = new int[100];
        for (int i = 0; i < a.length; i++) {
            count = 0;
            x = a[i];
            for (int j = 0; j < b.length; j++) {
                if (b[j] == x) {
                    count++;
                }
            }
            if (count == 0) {
                //System.out.print(a[i]+" ");
                d[m] = a[i];
                m++;
            }
        }
        return d;
    }
}

public class HelloWorld {
    public static void main(String args[]) {
        int a[] = new int[] { 2, 3, 5, 6, 8, 9 };
        int b[] = new int[] { 0, 2, 6, 8 };
        int c[] = result(a, b);
        for (int k = 0; k < c.length; k++) {
            System.out.print(c[k] + " ");
        }
    }
}
主类{
静态int[]结果(int a[],int b[]{
整数计数,x,m=0;
整数d[]=新整数[100];
for(int i=0;i
出现以下错误:

java:34:错误:找不到符号 int c[]=结果(a,b); ^ 符号:方法结果(int[],int[] 位置:HelloWorld类 1错误


要调用另一个类的静态方法,请在方法名称前面加上该类的名称:

int c[] = Main.result(a, b);
// -------^^^^^

当我返回数组时,我已经声明数组“d”的大小为100。有没有一种方法可以动态分配大小?@sree-只需在
int d[]=new int[100]中使用任何表达式,而不是
100
但这仍然需要您事先知道所需的大小。如果您事先不知道大小(我想您不知道),可以使用
列表。或者您可以使
d
的大小与
a
的大小相同(
int d[]=new int[a.length];
),如果您不需要全部,则可以在返回之前复制到较小的数组中。要调用静态方法,请使用。。在你的情况下,主要结果(a,b);