You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java求助:调用printArray(int[])时报错‘该方法对Array_1m类型未定义’

解决方法:The method printArray(int[]) is undefined for the type Array_1m

这个错误逻辑很清晰——你的Array_1m类里压根没定义printArray(int[])方法,Java虚拟机找不到这个方法的实现代码,所以在main方法里调用它时就会抛出这个报错。下面给你两种直接可行的解决思路:


思路1:在Array_1m类中直接实现printArray方法

因为main是静态方法,静态方法只能直接调用同类的静态成员,所以你要实现的printArray也得标记为静态。修改后的完整代码如下:

import java.util.Scanner;

public class Array_1m {
    public static void main(String[] args) {
        int[] intarray = new int[]{1, 2, 3, 4, 5};
        System.out.println("Here are our starting arrays");
        printArray(intarray); // 现在可以正常调用了
        System.out.println("What would you like to do?");
        System.out.println("");
    }

    // 新增静态的printArray方法,负责遍历打印数组
    public static void printArray(int[] arr) {
        for (int num : arr) {
            System.out.print(num + " ");
        }
        System.out.println(); // 打印完数组后换行收尾
    }
}

思路2:调用你提到的“数组类”中的printArray方法

如果你说的那个独立数组类里已经写好了printArray方法,那要根据方法的类型调整调用方式:

  • 如果是实例方法:必须先创建数组类的对象,再通过对象调用方法
  • 如果是静态方法:直接通过数组类的类名调用即可

假设你的数组类叫MyArray,给你举两个具体例子:

情况A:数组类中的printArray是实例方法

import java.util.Scanner;

public class Array_1m {
    public static void main(String[] args) {
        int[] intarray = new int[]{1, 2, 3, 4, 5};
        System.out.println("Here are our starting arrays");
        
        // 先创建数组类的实例对象
        MyArray arrayHandler = new MyArray();
        arrayHandler.printArray(intarray); // 通过对象调用实例方法
        
        System.out.println("What would you like to do?");
        System.out.println("");
    }
}

情况B:数组类中的printArray是静态方法

import java.util.Scanner;

public class Array_1m {
    public static void main(String[] args) {
        int[] intarray = new int[]{1, 2, 3, 4, 5};
        System.out.println("Here are our starting arrays");
        
        // 直接通过类名调用静态方法
        MyArray.printArray(intarray);
        
        System.out.println("What would you like to do?");
        System.out.println("");
    }
}

另外要注意:如果两个类不在同一个包下,数组类的printArray方法必须用public修饰,否则会触发访问权限错误。

内容的提问来源于stack exchange,提问作者Steve

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:16:52